Information processing apparatus and information processing method

ABSTRACT

A new-type user interface for providing a hotkey is disclosed, which has high operability and which can also be used to provide the hotkey in a conventional manner. In information processing apparatus has a hierarchical structure including a keyboard as one of hardware parts in a bottom layer, a built-in controller as one of hardware parts in a layer higher than the keyboard, and an operating system and an application program as software part in a layer higher than the built-in controller, wherein the operating system and the application program are connected to the built-in controller via a bus. In this information processing apparatus, if an Fn key is pressed and released, information indicating that the Fn key has been pressed and released is supplied to a utility via an SPIC which is logically different from the keyboard controller. In response, a launcher including hotkey menu icons corresponding to additional keys is displayed on a display.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus andan information processing method for performing a specific process inresponse to pressing a combination of a predetermined specific key andone of predetermined additional keys.

2. Description of the Related Art

In recent years, information processing apparatuses such as personalcomputers have become very popular in a wide variety of applications.The information processing apparatuses have various high capabilitiesdepending on requirements of users. With increasingly expansion ofrequirements for capabilities of information processing apparatus, themanners of operating an input device such as a keyboard or a mouse arealso expanding.

Among such operation methods using various types of input apparatuses, ahotkey is known as a method to perform a specific process in response topressing a specific combination of keys. An example of a hotkey is thatachieved by pressing one of particular alphanumeric keys or functionkeys labeled “F1”, “F2”, . . . , etc., on a keyboard while holding downa Fn key labeled “Fn” on the keyboard.

The Fn key is provided on an information processing apparatus, such as anotebook personal computer, which is limited in area for disposing akeyboard thereon. For example, some keys, such as keys for scrolling ascreen up and down, which are usually provided in desktop personalcomputers, are not provided in some personal computers. In such a case,the Fn key can be used to realize a function equivalent to the functionof a missing key. More specifically, the equivalent function is providedwhen the Fn key and another specific key are simultaneously pressed.

For example, a hotkey for controlling the volume of a speaker inhardware may be assigned to a combination of the Fn key and a functionkey labeled “F4” on the keyboard. As another example, a hotkey forcontrolling the brightness of a display may be assigned to a combinationof the Fn key and a function key labeled “F5” on the keyboard.

In recent years, in various types of information processing apparatusessuch as personal computers and associated apparatuses, from theviewpoint of barrier-free or universal design, it is required thatapparatuses should be designed such that the apparatuses can be easilyused not only by normal users but also physically disabled users.

From such the viewpoint, the hotkey is not necessarily a good userinterface, because it is required to simultaneously press a plurality ofkeys and thus a physically disabled user, such as one who has lost somefinger or who has only one arm, cannot easily use the hotkey. Even forphysically normal users, the hotkey is difficult to use, if users havesmall hands.

Another problem is that necessity of simultaneously pressing a pluralityof keys makes it difficult to conceptually understand the hotkey.Furthermore, the increase in the number of keys to be pressed causes theoperation to become complicated.

In view of the above, an object of the present invention is to providean information processing apparatus and an information processingmethod, in which both a conventional hotkey user interface and anew-type high-operability hotkey user interface are available so thatmany users can easily use a hotkey thereby providing high convenience tousers.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, there is provided aninformation processing apparatus having a capability of performing aspecific process in response to pressing of a combination of apredetermined specific key and a predetermined additional key, theinformation processing apparatus comprising: key input means including aplurality of keys arranged thereon and including the specific key andthe additional key; and control means for controlling the key inputmeans and for controlling displaying, on the display means, variouskinds of information including at least a user interface for presentinga specific menu including a specific process menu icon button assignedto the specific process corresponding to the additional key, wherein, inresponse to pressing or releasing of the specific key, the control meansactivates the user interface for presenting the specific menu anddisplays the user interface on the display means.

In this information processing apparatus, as described above, inresponse to pressing or releasing of the specific key, the control meansactivates the user interface for presenting the specific menu anddisplays the user interface on the display means.

The information processing apparatus according to the present inventionmay further comprise built-in control means for operating firmware so asto monitor the key input means to detect an input operation performed onthe key input means, wherein the built-in control means includes firstand second input/output ports which are logically different from eachother and implemented in the built-in control means, the firstinput/output port having a capability of transmitting information to ahigher-level system in response to pressing or releasing of a normal keyother than the specific key on the key input means to notify thehigher-level system that the normal key has been pressed or released,the second input/output port serving to communicate with the controlmeans; and in response to pressing or releasing of the specific key, thebuilt-in control means transmits, by operating the firmware and via thesecond input/output port, information indicating that the specific keyhas been pressed or released to a utility which is software executed bythe control means to control the key input means and control displaying,on the display means, various kinds of information including the userinterface for presenting the specific menu.

In this information processing apparatus, the built-in control meansoperates firmware so as to inform the utility via the secondinput/output port that the specific key has been pressed or released,and the control means operates the utility so as to activate the userinterface for presenting the specific menu and display the userinterface on the display means.

In the information processing apparatus according to the presentinvention, the built-in control means may perform a process associatedwith a specific key locking mechanism having a locked state in which thespecific key is equivalently kept pressed down although the specific keyis not actually pressed down and also having an unlocked state in whichthe specific key is equivalently not pressed; and the control means maydisplay, on the display means, the user interface which indicates atleast the state of the specific key locking mechanism.

In the information processing apparatus according to the presentinvention, the control means may detect the state of the built-incontrol means via the second input/output port, and the control meansmay set the built-in control means into either an enabled state in whichthe specific key locking mechanism is enabled or a disabled state inwhich the specific key locking mechanism is disabled.

In the information processing apparatus according to the presentinvention, the built-in control means may operate the firmware so as toperform a process associated with the specific key locking mechanism,and the control means may operate the utility so as to detect the stateof the firmware via the second input/output port and to set the firmwareinto either the enabled state or the disabled state.

In the information processing apparatus, the control means may display,on the display means, a user interface for setting the specific keylocking mechanism into the enabled state or the disabled state.

That is, in this information processing apparatus according to thepresent invention, the user interface for setting the specific keylocking mechanism into the enabled state or the disabled state isdisplayed on the display means under the control of the control means.

In the information processing apparatus according to the presentinvention, when the specific key locking mechanism is in the enabledstate, the control means may display, on the display means, the stateindication user interface so as to indicate that the specific keylocking mechanism is in the enabled state.

That is, in this information processing apparatus according to thepresent invention, when the specific key locking mechanism is in theenabled state, the state indication user interface indicating that thespecific key locking mechanism is in the enabled state is displayed onthe display means under the control of the control means.

In the information processing apparatus according to the presentinvention, when the specific key locking mechanism is in the disabledstate, the control means may not display the state indication userinterface on the display means, or the control means may display, on thedisplay means, the state indication user interface indicating that thespecific key locking mechanism is in the disabled state.

That is, in this information processing apparatus according to thepresent invention, when the specific key locking mechanism is in thedisabled state, under the control of the control means, the stateindication user interface is not displayed on the display means or thestate indication user interface indicating that the specific key lockingmechanism is in the disabled state is displayed on the display.

According to another aspect of the present invention, there is providedan information processing method for performing a specific process inresponse to pressing of a combination of a predetermined specific keyand a predetermined additional key, the information processing methodcomprising the steps of controlling key input means and controllingdisplaying, on display means, various kinds of information including atleast a user interface for presenting a specific menu including aspecific process menu icon button assigned to the specific processcorresponding to the additional key; and in response to pressing orreleasing of the specific key disposed on key input means including aplurality of keys arranged thereon and including the specific key andthe additional key, activating the user interface for presenting thespecific menu and displaying the user interface on the display means.

That is, in this information processing method according to the presentinvention, as described above, in response to pressing or releasing ofthe specific key, the control means activates the user interface forpresenting the specific menu and displays the user interface on thedisplay means.

The information processing method according to the present invention mayfurther comprising the steps of monitoring, by operating firmware, thekey input means to detect an input operation performed on the key inputmeans; and in response to detecting that the specific key has beenpressed or released, notifying the utility that the specific key hasbeen pressed or released, via a second input/output port forcommunicating with a utility which is software for controlling the keyinput means and display means on which various kinds of informationincluding the user interface for presenting the specific menu aredisplayed, the second input/output port being logically different from afirst input/output port having a capability of transmitting informationto a higher-level system in response to pressing or releasing of anormal key, on the key input means, other than the specific key tonotify the higher-level system that the normal key has been pressed orreleased.

That is, in this information processing method according to the presentinvention, in response to pressing or releasing the specific key, thefirmware is operated so as to inform the utility via the secondinput/output port that the specific key has been pressed or released,and the utility is operated so as to activate the user interface forpresenting the specific menu and display the user interface on thedisplay means.

In the information processing method according to the present invention,the firmware may be operated so as to perform a process associated witha specific key locking mechanism having a locked state in which thespecific key is equivalently kept pressed down although the specific keyis not actually pressed down and also having an unlocked state in whichthe specific key is equivalently not pressed; and the user interfaceindicating at least the state of the specific key locking mechanism maybe displayed on the display means.

Furthermore, in the information processing method according to thepresent invention, the utility may be operated so as to detect the stateof the firmware via the second input/output port and set the firmwareinto either an enabled state in which the specific key locking mechanismis enabled or a disabled state in which the specific key lockingmechanism is disabled.

That is, in this information processing method according to the presentinvention, the firmware is operated so as to perform the processassociated with the specific key locking mechanism, and the utility isoperated so as to detect the state of the firmware via the secondinput/output port and to set the firmware into either the enabled stateor the disabled state.

In this information processing method according to the presentinvention, the utility may be operated so as to display, on the displaymeans, a user interface for setting the specific key locking mechanisminto the enabled state or the disabled state.

That is, in this information processing method according to the presentinvention, the user interface for setting the specific key lockingmechanism into the enabled state or the disabled state is displayed onthe display means under the control of the utility.

In this information processing method according to the presentinvention, if the specific key locking mechanism is in the enabledstate, the utility may be operated so as to display, on the displaymeans, a state indication user interface indicating that the specifickey locking mechanism is in the enabled state.

That is, in this information processing method according to the presentinvention, if the specific key locking mechanism is in the enabledstate, the state indication user interface indicating that the specifickey locking mechanism is in the enabled state is displayed on thedisplay means under the control of the utility.

In this information processing method according to the presentinvention, if the specific key locking mechanism is in the disabledstate, the utility is operated so as to not display the state indicationuser interface on the display means or so as to display, on the displaymeans, the state indication user interface indicating that the specifickey locking mechanism is in the disabled state.

That is, in this information processing method according to the presentinvention, if the specific key locking mechanism is in the disabledstate, the utility is operated such that the state indication userinterface is not displayed on the display means or the state indicationuser interface indicating that the specific key locking mechanism is inthe disabled state is displayed on the display means.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a plan view of a keyboard provided in an informationprocessing apparatus according to an embodiment of the presentinvention;

FIG. 2 is a diagram showing an example of a launcher displayed on adisplay of the information processing apparatus;

FIG. 3 is a block diagram showing a software configuration of theinformation processing apparatus;

FIG. 4 is a block diagram showing a hardware configuration of theinformation processing apparatus;

FIG. 5 is a diagram showing the hierarchical software and softwarestructure of the information processing apparatus;

FIG. 6 is a diagram showing the hierarchical software and softwarestructure of the information processing apparatus, wherein the diagramalso shows a path for transmitting information in response to an inputoperation on a usual key;

FIG. 7 is a diagram showing the hierarchical software and softwarestructure of the information processing apparatus, wherein the diagramalso shows a path for transmitting information in response to an inputoperation for calling a hotkey function using a Fn key;

FIG. 8 is a flow chart showing a routine performed by a built-incontroller, provided in the information processing apparatus, inresponse to pressing of the Fn key, wherein the routine includes aprocess associated with a hotkey and a process of supplying informing toutility;

FIG. 9 is a flow chart showing a routine performed by the built-incontroller in response to pressing of an arbitrary key to switch an Fnkey locking mechanism between a locked state and an unlocked state;

FIG. 10 is a flow chart showing a routine performed by the built-incontroller to inform a utility that a transition between the lockedstate and the unlocked state has occurred in the state of the Fn keylocking mechanism;

FIG. 11 is a diagram showing state transitions between an enabled stateand a disabled state in the Fn key locking mechanism;

FIG. 12 is a flow chart showing a sequence of processing steps forswitching the Fn key locking mechanism from the disabled state into theenabled state;

FIG. 13 is a diagram showing an example of a setting dialog boxdisplayed on the display to allow a user to set the Fn key lockingmechanism into the enabled state or the disabled state:

FIG. 14 is a diagram showing examples of task tray icons displayed onthe display to inform a user of the state of the Fn key lockingmechanism;

FIG. 15 is a flow chart showing a sequence of processing steps ofswitching the Fn key locking mechanism from the enabled state into thedisabled state;

FIG. 16 is a flow chart showing a sequence of processing steps ofdisplaying a launcher on the display;

FIG. 17 is a flow chart showing a sequence of processing stepsperformed, in a case in which the Fn key locking mechanism is provided,in response to pressing and releasing an arbitrary key when the launcheris displayed on the display;

FIG. 18 is a diagram showing state transitions between the locked stateand the unlocked state in the Fn key locking mechanism, which can occurwhen the Fn key locking mechanism is in the enabled state;

FIG. 19 is a flow chart showing a sequence of steps associated with ahotkey process which is performed in response to sequentially pressingthe Fn key and one of additional keys when the Fn key locking mechanismis in the enabled and unlocked state, wherein steps from the start to astep in which the Fn key locking mechanism is switched into the lockedstate are shown;

FIG. 20 is a flow chart showing a sequence of steps associated with ahotkey process which is performed in response to sequentially pressingthe Fn key and one of additional keys when the Fn key locking mechanismis in the enabled and unlocked state, wherein steps following thoseshown in FIG. 19 are shown;

FIG. 21 is a flow chart showing a sequence of steps including a processof switching the Fn key locking mechanism from the enabled and unlockedstate into the locked state and also including a process performed inresponse to singly pressing an arbitrary key which is not assigned as ahotkey used in combination with the Fn key, wherein steps from the startto a step in which the Fn key locking mechanism is switched into thelocked state are shown;

FIG. 22 is a flow chart showing a sequence of steps including a processof switching the Fn key locking mechanism from the enabled and unlockedstate into the locked state and also including a process performed inresponse to singly pressing an arbitrary key which is not assigned as ahotkey used in combination with the Fn key, wherein steps followingthose shown in FIG. 21 are shown;

FIG. 23 is a flow chart showing a sequence of steps associated with aconventional hotkey process performed, when the Fn key locking mechanismis in the enabled and unlocked state, in response to simultaneouslypressing the Fn key and an additional key;

FIG. 24 is a flow chart showing a sequence of steps associated with aconventional hotkey process performed, when the Fn key locking mechanismis in the enabled and locked state, in response to simultaneouslypressing the Fn key and an additional key;

FIG. 25 is a flow chart showing a sequence of steps associated with aconventional hotkey process performed, when the Fn key locking mechanismis in the disabled state, in response to simultaneously pressing the Fnkey and an additional key;

FIG. 26 is a flow chart showing a sequence of processing stepsperformed, when the Fn key locking mechanism is enabled or disabled andis in the unlocked state, in response to pressing a usual key other thanthe Fn key, wherein steps from a first step in which the key is pressedto a step in which the key-is released are shown;

FIG. 27 is a flow chart showing a sequence of processing stepsperformed, when the Fn key locking mechanism is enabled or disabled andis in the unlocked state, in response to pressing a usual key other thanthe Fn key, wherein steps following those shown in FIG. 26 are shown;

FIG. 28 is a table showing state transitions of the Fn key lockingmechanism, which occur in response to various changes in the state of apower supply;

FIG. 29 is a table showing backward compatibility of the informationprocessing apparatus;

FIG. 30 is a flow chart showing a sequence of processing stepsperformed, in a case in which the Fn key locking mechanism is notprovided, in response to pressing and releasing an arbitrary key whenthe launcher is displayed on the display;

FIG. 31 is a flow chart showing a sequence of steps associated with ahotkey process performed, in a case in which the Fn key lockingmechanism is not provided, in response to sequentially pressing the Fnkey and an additional key; and

FIG. 32 is a block diagram showing the hardware structure of aninformation processing apparatus capable of performing a processassociated with the Fn key locking mechanism by means of using hardware.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention is described in further detail below withreference to embodiments in conjunction with the accompanying drawings.

In the embodiments described below, the information processing apparatusto which the present invention is applied is assumed to be a personalcomputer. The information processing apparatus includes, as shown inFIG. 1, a keyboard 1 serving as key input means having a plurality keysarranged thereon. In this information processing apparatus, if aspecific key is pressed in combination with an arbitrary additional key,a hotkey is provided as a user interface, that is, a specific processassigned to the combination of the specific key and the pressedadditional key is performed.

More specifically, in this information processing apparatus, a keylabeled “Fn” on the keyboard is used as the specific key for providinghotkeys. In conventional information processing apparatuses, a hotkeyfunction is provided only when one of predetermined additional keys suchas alphanumeric keys or function keys labeled “F1”, “F2”, and so on ispressed while holding down the Fn key. In the user interface accordingto the present invention, in contrast, a hotkey function is provided notonly when a plurality of keys are simultaneously pressed in theabove-described manner, but also when a plurality of keys are pressedseparately one after another.

More specifically, in the present invention, the information processingapparatus can be in either a state in which the Fn key is regarded asbeing equivalently kept pressed down although the Fn key is not actuallykept pressed down or a state in which the Fn key is regarded as notbeing pressed. When the information processing apparatus is in the statein which the Fn key is regarded as being equivalently kept pressed down,if an additionally key is singly pressed without simultaneously pressingthe Fn key, a function equivalent to a normal hotkey function isprovided.

That is, in the present information processing apparatus, as shown inFIG. 2, a launcher 2 serving as a user interface for presenting aspecific menu including hotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 fserving as icon buttons for performing specific hotkey functionscorresponding to the additional keys is displayed. A desired one of thehotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 f in the launcher 2 can bedirectly selected by using a particular key such as cursor key (arrowkey) or a Tab key on the keyboard serving as input operation means or byusing a pointing device such as a mouse or a jog dial or the like. Thatis, in the present information processing apparatus, the hotkey functionsimilar to the conventional one can be achieved by directly selectingone of the hotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 f in the launcher2 via the predetermined operation described above.

Hereinafter, the state in which the Fn key is regarded as beingequivalently pressed although the Fn key is not actually pressed isreferred to as a “locked state”, and the state in which the Fn key isregarded as not being pressed is referred to as an “unlocked state”. Amechanism which provides the locked state and the unlocked state isreferred to as a Fn key locking mechanism. A state in which the Fn keylocking mechanism is enabled is referred to as an “enabled state”, and astate in which the Fn key locking mechanism is disabled is referred toas a “disabled state”.

The Fn key is provided on a notebook personal computer or the like inwhich some keys which are usually provided in a desktop personalcomputer are not provided due to its limited space for installing akeyboard thereon. Therefore, the Fn key is not defined in thespecifications for computers compatible with PC/AT (PersonalComputer/Advanced Technology), and thus Fn key is not recognized by theoperating system.

In view of the above, in the present information processing apparatus,although normal keys are handled by the BIOS (Basic Input/OutputSystem), information associated with the Fn key, which cannot berecognized by a keyboard driver for driving a keyboard controller, istransmitted from the BIOS a lower level to a higher-level system via aninput/output port different from the keyboard controller. Thehigher-level system can set the lower-level BIOS into either the enabledstate or the disabled state described above.

More specifically, in the present information processing apparatus, theprocess associated with the Fn key locking mechanism is performed by theBIOS, and the higher-level system obtains information indicating thestate of the BIOS performing the process associated with the Fn keylocking mechanism, by performing communication with the BIOS via theinput/output port different from the input/output port used by thekeyboard controller. Furthermore, in the present information processingapparatus, unlike the conventional information processing apparatus inwhich the higher-level system cannot change the setting of thelower-level BIOS via the keyboard controller, the higher-level systemcan change the setting of the lower-level BIOS as to the state of the Fnkey locking mechanism. This makes it possible for the presentinformation processing apparatus to provide the user interface by whicha hotkey function is provided in response to singly pressing a key orpointing to a single icon button, while the hotkey function is alsoprovided when a plurality of keys are simultaneously pressed in theconventional manner.

In the present embodiment, by way of example, additional keys which canbe used in conjunction with the Fn key to provide hotkeys include anescape key labeled “ESC”, a function key labeled “F3”, a function keylabeled “F4”, a function key labeled “F5”, and a function key labeled“F12”, which are all disposed on the keyboard.

More specifically, a hotkey assigned to a combination of the Fn key andthe escape key provides a suspend function for saving working data andworking status into a memory such as a RAM (Random Access Memory) andbringing the operation state into a standby state. A hotkey assigned toa combination of the Fn key and the function key labeled “F3” on thekeyboard provides a muting function for muting a sound or voice outputfrom a speaker which is one of hardware parts. A hotkey assigned to acombination of the Fn key and the function key labeled “F4” on thekeyboard provides a volume control function for controlling the volumeof the sound or voice output from the speaker. A hotkey assigned to acombination of the Fn key and the function key labeled “F5” on thekeyboard provides a brightness control function for controlling thebrightness of a display which will be described later. A hotkey assignedto a combination of the Fn key and the function key labeled “F12” on thekeyboard provides a hibernation function for saving working data andworking status onto an HDD (Hard Disk Drive) that will be describedlater and bringing the operation state into a sleep state.

In the present information processing apparatus, a launcher 2 isdisplayed as shown in FIG. 2, wherein the launcher 2 includes hotkeymenu icon buttons 2 a, 2 b, 2 c, 2 d, and 2 f for performing the suspendfunction, the muting function, the volume control function, thebrightness control function, and the hibernation function, which arespecific processes assigned to the respective additional keys, that is,the Esc key and function keys labeled “F3”, “F4”, “F5”, and “F12”.

The construction of the information processing apparatus is describedbelow.

As shown in FIG. 3, in the present information processing apparatus,software needed to realize the hotkey capability using the Fn keyincludes a utility and a keyboard BIOS, wherein the utility is softwarefor controlling an input device such as a keyboard 1 and also forcontrolling a display, which will be described later, for displayingvarious kinds of information including at least the launcher 2 and agraphical user interface for indicating the state of the Fn key lockingmechanism, and the keyboard BIOS is firmware for performing the processassociated with the Fn key locking mechanism.

The utility is a program which is usually stored on the HDD, which isone of hardware parts, as will be described later. The utility isembedded in an application program in the higher-level system and isexecuted on a CPU (Central Processing Unit) which will be describedlater. The keyboard BIOS is a program stored in a ROM (Read OnlyMemory), described later, which is also one of hardware parts. Thekeyboard BIOS serves to interface between the keyboard 1 and thehigher-level system and mange transmission of data between them. Thekeyboard BIOS is executed on a built-in controller which will bedescribed later.

The utility may also be provided via a storage medium such as a compactdisc or a via a transmission medium such as the Internet. The keyboardBIOS may also be provided by replacing a ROM disposed on a motherboard,which is one of hardware parts of the information processing apparatus.

In the present information processing apparatus, information associatedwith normal keys other than the Fn key is transmitted from the keyboardBIOS to the higher-level system via the keyboard driver embedded in theoperating system. On the other hand, in the present informationprocessing apparatus, because the Fn key is not recognized as a normalkey by the operating system as described earlier, information associatedwith the Fn key is transmitted between the keyboard BIOS and the utilityvia a path different from the path for information associated with thenormal keys.

The structure of the hardware of the information processing apparatusincluding the software described above is described in FIG. 4. As shownin FIG. 4, the information processing apparatus 10 includes, in additionto the keyboard 1 described above, a controller 11 serving as built-incontrol means for monitoring an input operation performed by a user onthe keyboard 1 and controlling it, a CPU 12 serving as control means forgenerally controlling various parts of the information processingapparatus 10, a read-only-memory (ROM) 13 for storing informationincluding various programs, a RAM 14 serving as a work area, an HDD 15for writing and reading various programs and data, and a display 16serving as display means for display various kinds of information,wherein the built-in controller 11, the CPU 12, the ROM 13, the RAM 14,the HDD 15, and the display 16 are connected to each other via a bus.

Although not shown in the figures, the information processing apparatus10 may include a user interface of a type other than the keyboard 1,such as a mouse or a jog dial, as required. The information processingapparatus 10 may also include a communication unit for communicatingwith an external device and/or a drive for writing/reading various kindsof information on/from a removable storage medium.

The keyboard 1 includes keys arranged in the above-described manner.More specifically, the Fn key serving as the specific key is disposed inthe bottom row, and additional keys including the Esc (escape) key andfunction keys are disposed in the top row. In the keyboard 1,identification numbers called scan codes are assigned to the respectivekeys. Furthermore, in the keyboard 1, two different scan codes areassigned to each key so that the scan codes indicate whether the key ispressed or released by a user. The built-in controller 11 periodicallychecks the keyboard 1 to detect whether some key has been pressed orreleased.

The built-in controller 11 operates the keyboard BIOS described abovewith reference to FIG. 5, and also manages the power supply of theinformation processing apparatus. Furthermore, the built-in controller11 has capabilities of a keyboard controller 11 a serving as a firstinput/output port and a programmable input/output control device (SPIC)11 b serving as a second input/output port, as will be described later.The built-in controller 11 periodically checks or monitors the keyboard1 to detect pressing and releasing of keys. If the built-in controller11 detects that an arbitrary key has been pressed, the built-incontroller 11 detects the scan code of the pressed key and informs, bymeans of an interrupt and via a bus, the higher-level system running onthe CPU 12 that the key has been pressed. Furthermore, the built-incontroller 11 queries the keyboard 1 for information associated with thepressed key. Not only when the arbitrary key on the keyboard 1 ispressed, but also when the key is released, the built-in controller 11acquires similar information. More specifically, if the built-incontroller 11 detects that an arbitrary key has been released, thebuilt-in controller 11 detects the scan code of the released key andinforms, by means of an interrupt and via the bus, the higher-levelsystem running on the CPU 12 that the key has been released.Furthermore, the built-in controller 11 queries the keyboard 1 forinformation associated with the released key.

The CPU 12 is connected via a bus to the built-in controller 11, the ROM13, the RAM14, the HDD 15, and the display 16. The CPU 12 serves toexecute the operating system and various application programs stored inthe ROM 13 or the HDD 15. In particular, the utility described earlierwith reference to FIG. 3 is executed by the CPU 12. If the CPU 12receives a message, from the built-in controller 11 via the bus,indicating that an arbitrary key has been pressed or released, the CPU12 performs a process depending on which key has been pressed orreleased. In a particular case in which the Fn key has been pressed, theCPU 12 executes the utility to display the launcher 2 on the display 16.In a case in which a hotkey has been pressed or released, the CPU 12executes the utility to display a specific graphical user interface onthe display 16, as will be described later.

The ROM 13 stores information including various programs. In particular,the ROM 13 stores the keyboard BIOS described earlier. The keyboard BIOSstored in the ROM 13 is read and executed under the control of thebuilt-in controller 11.

The RAM 14 serves as a work area used by the CPU 12 in execution ofvarious programs. That is, the RAM temporarily stores various data underthe control of the CPU 12.

The HDD 15 writes and/or reads various programs or data to/from a harddisk under the control of the CPU 12. In particular, the hard diskstores the above-described utilities and other various programs, whichare read under the control of the CPU 12.

The display 16 is a device such as an LCD (Liquid Crystal Display) fordisplaying various kinds of information such as data stored on the HDD15 under the control of the CPU 12. More specifically, in addition todisplaying the launcher 2, the display 16 also displays, under thecontrol of the CPU 12, a dialog box or a task tray icon serving as agraphical user interface associated with a hotkey using the Fn key.

FIG. 5 shows hierarchical structures of the hardware and software of theinformation processing apparatus 10. In the information processingapparatus 10, as shown in FIG. 5, the keyboard 1, which is one ofhardware parts, is located at the lowest level, and the built-incontroller 11, which is another hardware part, is located at a levelhigher than the keyboard 1. Furthermore, at a level higher than thebuilt-in controller 11, an operating system 20, which is one of softwareparts, coupled with the built-in controller 11 via the bus, and anapplication program 30, which is another software part, is located at alevel higher than the operating system 20.

As described earlier, the built-in controller 11 includes the keyboardcontroller 11 a and the SPIC 11 b. The keyboard controller 11 a monitorsthe keyboard 1 to determine whether any key is pressed or released. Ifpressing or releasing of some key is detected, the keyboard controller11 a informs the higher-level system that the key has been pressed orreleased. The SPIC 11 b serves to communicate with the utility totransmit/receive information associated with keys that are not includedin a key table. Conceptually, the Fn key serves as a key that switches,in response to being pressed, key mapping so that particular keys on thekeyboard 1 are switched so as to serve as keys for performing specificprocesses, thereby equivalently providing keys that are not included inthe key table. Thus, as described earlier, the Fn key is not recognizedby the operating system as an ordinal key. The keyboard controller 11 aand the SPIC 11 b may or may not be the same in physical form, but,logically, they behave as different input/output ports.

Transmission of information between the system and the built-incontroller 11 including the keyboard controller 11 a and the SPIC 11 bis performed via the bus. More specifically, in the built-in controller11, information output from the keyboard controller ha is transmittedvia the bus to the keyboard driver and the stub driver in the operatingsystem 20, and information output from the SPIC 11 b is transmitted viathe bus to “****PI.sys” and “***Util.DLL” in the operating system 20.Furthermore, in the built-in controller 11, information received from“****PI.sys” of the operating system 20 is supplied to the SPIC 11 b viathe bus.

The operating system 20 includes the keyboard driver associated with thekeyboard controller 11 a implemented on the built-in controller 11, thestub driver that is a subroutine such as “kbdjpn.DLL” associated withthe keyboard controller 11 a, the device driver “****PI.sys” associatedwith the SPIC 11 b implemented on the built-in controller 11, and“***Util.DLL” for transferring a message supplied from “****PI.sys” to ahotkey server 30 b that will be described later. In the operating system20, the keyboard driver and “****PI.sys” are implemented in a kernelmode layer, and the stub driver and “***.Util.DLL” are implemented in auser mode layer. Among those drivers, the keyboard driver, the stubdriver, “****PI.sys”, and “***Util.DLL”, described above, the keyboarddriver and the stub driver are included in a usual operating system.However, “****PI.sys” and “***Util.DLL” are special programs which areprovided to realize the hotkey capability in conjunction with the Fn keylocking mechanism.

In the operating system 20, information received from the keyboardcontroller 11 a in the built-in controller 11 is supplied to anapplication 30 a of the application programs 30 via the keyboard driverand the stub driver, and information received from the SPIC 11 b in thebuilt-in controller 11 is supplied to the hotkey server 30 b of theapplication programs 30 via “****PI.sys” and “***Util.DLL”. Furthermore,in the operating system 20, information received from the hotkey server30 b of the application programs 30 is supplied to the SPIC 11 b in thebuilt-in controller 11 via “***Util.DLL” and, “****PI.sys”.

The application programs 30 include the application 30 a such as Notepadfor producing a text file and the hotkey server 30 b serving as theutility for presenting the graphical user interface associated with thehotkeys using the launcher 2 or the Fn key. In the application programs30, information received from the hotkey driver or the stub driver inthe operating system 20 is supplied to the application 30 a. On theother hand, information received from “****PI.sys” or “***Util.DLL” issupplied to the hotkey server 30 b. Information issued by the hotkeyserver 30 b in the application programs 30 is supplied to “***Util.DLL”and “****PI.sys”.

In the information processing apparatus 10 having the hierarchicalstructure described above, if an input operation is performed on a usualkey such as an alphanumeric key, information indicating that the key hasbeen pressed or released is supplied to the operating system 20 via thekeyboard controller 11 a in the built-in controller 11 and further tothe application 30 a via the keyboard driver and the stub driver in theoperating system 20, as represented by a broken line in FIG. 6. Forexample, in the present information processing apparatus 10, if analphanumeric key labeled “A” on a keyboard is pressed, informationindicating that the key has been pressed is supplied to the operatingsystem 20 via the keyboard controller 11 a in the built-in controller11. At the same time, in the present information processing apparatus10, information indicating whether a key labeled “Caps Lock” on thekeyboard for switching between uppercase and lowercase is in a pressedstate is supplied to the operating system 20 via the keyboard controller11 a in the built-in controller 11. In the present informationprocessing apparatus 10, if the stub driver in the operating system 20receives information indicating that an alphanumeric key labeled “A” onthe keyboard and also information indicating whether the key labeled“Caps Lock” on the keyboard for switching between uppercase andlowercase is in a pressed state, the stub driver makes a conversionbetween uppercase and lowercase. Thus, in the present informationprocessing apparatus 10, information indicating “A” or “a” is finallysupplied to the application 30 a in the application programs 30.

In the present information processing apparatus 10, if an inputoperation is performed on a hotkey in conjunction with the Fn key,information indicating that the key has been pressed or released issupplied to the operating system 20 via the SPIC 11 b in the built-incontroller 11 and further to the hotkey server 30 b via “****PI.sys” and“****Util.DLL” in the operating system 20, as represented by a brokenline in FIG. 7.

A specific process associated with a hotkey using the Fn key performedin the information processing apparatus 10 having the above-describedconstruction is described below.

In the present information processing apparatus 10, as described above,the process associated with the hotkeys using the Fn key lockingmechanism is performed by the keyboard BIOS executed by the built-incontroller 10. More specifically, in the present information processingapparatus 10, the built-in controller 11 performs the routine includinga sequence of processing steps shown in FIGS. 8 to 10.

First, if the Fn key is pressed, the built-in controller 11 performs theroutine shown in FIG. 8.

That is, as shown in FIG. 8, if the Fn key is pressed, the built-incontroller 11 determines, in step S1, whether an arbitrary key has alsobeen pressed in addition to the Fn key. More specifically, the built-incontroller 11 periodically checks, that is, monitors, as describedearlier, the keyboard 1 to detect whether an arbitrary key other thanthe Fn key has been pressed.

If it is determined that an arbitrary key has been pressed in additionto the Fn key, the process proceeds to step S2. In step S2, the built-incontroller 11 performs a process associated with a hotkey correspondingto a combination of the Fn key and the pressed arbitrary key other thanthe Fn key. The built-in controller 11 then informs the utility via theSPIC 11 b that the process associated with the hotkey has beenperformed, and the present routine is ended.

On the other hand, if it is determined that no arbitrary key other thanthe Fn key is pressed, the process proceeds to step S3 and the built-incontroller 11 determines whether the Fn key has been released. Morespecifically, the built-in controller 11 monitors the keyboard 1, asdescribed above, to determine whether the Fn key has been released.

If it is determined that the Fn key has not been released, that is, ifit is determined that the Fn key is still in the pressed state, theprocess returns to step S1 and the built-in controller 11 repeats theabove-described process from step S1.

In a case in which it is determined in step S3 that the Fn key has beenreleased, the process proceeds to step S4 and the built-in controller 11determines whether any arbitrary key has been pressed.

If it is determined herein that some arbitrary key has been pressed, thebuilt-in controller 11 ends the routine to perform not a hotkey processbut a process in response to a usual key input operation via thekeyboard controller 11 a.

On the other hand, in a case in which it is determined in step S4 thatany arbitrary key is not pressed, the process proceeds to step S5, andthe built-in controller 11 informs the utility via the SPIC 11 b thatthe Fn key has been singly pressed, and ends the present routine.

As described above, if the Fn key is pressed, the built-in controller 11performs the routine including a process associated with a hotkey and aprocess of supplying information to the utility, depending on whatoccurs after the Fn key was pressed, that is, depending on whether ankey other than the Fn key is pressed or whether the Fn key is released.

The built-in controller 11 performs the routine shown in FIG. 9 toswitch the state between the locked state and the unlocked state.

More specifically, as shown in FIG. 9, if an arbitrary key is pressedand released, the built-in controller 11 determines, in step S11,whether the pressed and released key is the Fn key and determineswhether the Fn key has been singly pressed, by performing the routineshown in FIG. 8.

In a case in which it is determined that the pressed and released key isthe Fn key and any other key is not pressed, the process proceeds tostep S12. In step S12, the built-in controller 11 determines whether theFn key is currently in the locked state.

If it is determined that the Fn key is currently in the locked state,the process proceeds to step S13. In step D13, the built-in controller11 switches the state into the unlocked state and ends the presentroutine. That is, if the Fn key is singly pressed and then released whenthe Fn key is in the locked state, the built-in controller 11 switchesthe state of the Fn key into the unlocked state.

On the other hand, if it is determined in step S12 that the Fn key isnot in the locked state, that is, if it is determined that the Fn key iscurrently in the unlocked state, the process proceeds to step S14. Instep S14, the built-in controller 11 switches the Fn key into the lockedstate and ends the current routine. That is, if the Fn key is singlypressed and then released when the Fn key is in the unlocked state, thebuilt-in controller 11 switches the Fn key into the locked state.

In the case in which it is determined in step S11 that the pressed andreleased key is not singly pressing and releasing of the Fn key, theprocess proceeds to step S15 and the built-in controller 11 determineswhether the Fn key is currently in the locked state.

If it is determined herein that the Fn key is currently in the lockedstate, the process proceeds to step S16 and the built-in controller 11performs a process by assuming that the Fn key is held in the pressedstate. That is, in this case, a hotkey process assigned to a combinationof the Fn key and the arbitrary key detected at the start of the routineis performed.

The process then proceeds to step S17, and the built-in controller 11switches the Fn key into the unlocked state. The routine is then ended.

On the other hand, if it is determined that the current state of the Fnkey is not the locked state, that is, if it is determined that the Fnkey is currently in the unlocked state, the process proceeds to step S18and the built-in controller 11 ends the present routine in order toperform a process designated to be performed when the Fn key is notpressed together, that is, in order to perform a process to designatedto be performed in response to a normal key input operation via thekeyboard controller.

As described above, if any one of keys including the Fn key is pressedand then released, the built-in controller 11 performs the routinedescribed above thereby switching the state of the Fn key between thelocked state and the unlocked state.

Furthermore, by performing the routine shown in FIG. 10, the built-incontroller 11 informs the utility that a transition between the lockedstate and the unlocked state has occurred.

That is, as shown in FIG. 10, the built-in controller 11 determines, instep S21, whether a transition between the locked state and the unlockedstate has occurred.

If no transition between the locked state and the unlocked state isdetected, the built-in controller 11 ends this routine withoutperforming any operation.

On the other hand, if a transition between the locked state and theunlocked state is detected, the process proceeds to step S22 and thebuilt-in controller 11 determines whether the transition occurred fromthe locked state.

If it is determined herein that the transition was from the lockedstate, the process proceeds to step S23 and the built-in controller 11informs the utility via the SPIC 11 b of the transition into theunlocked state. Thereafter, the built-in controller 11 ends the presentroutine.

On the other hand, if it is determined that the transition was not fromthe locked state, that is, if it is determined that the transition wasfrom the unlocked state, the process proceeds to step S24 and thebuilt-in controller 11 informs the utility via the SPIC 11 b of thetransition into the locked state. Thereafter, the built-in controller 11ends the present routine.

As described above, by performing the present routine, the built-incontroller 11 detects a transition between the locked state and theunlocked state and informs the utility of the transition.

Thus, the information processing apparatus 10 realizes the Fn keylocking mechanism by performing, using the built-in controller 11, theroutine described above with reference to FIGS. 8 to 10.

The built-in controller 11, which performs the routine described above,also switches the state of the Fn key locking mechanism between theenabled state and the disabled state in accordance with the setting bythe utility, as shown in FIG. 11.

More specifically, in the information processing apparatus 10, thebuilt-in controller 11 switches the state of the Fn key lockingmechanism between the enabled state and the disabled state by performinga process including a sequence of steps shown in FIGS. 12 and 15. Inthis process performed in the information processing apparatus 10, theFn key locking mechanism is set by the utility in response to anoperation serving as a trigger performed by a user. In the presentembodiment, when the Fn key is pressed and released successively 5 timesby a user, the utility performs setting of the Fn key locking mechanism.In FIGS. 12 and 15, processes performed respectively by the keyboard 1,the built-in controller 11, and the higher-level system including theutility in the information processing apparatus 10 are shown, whiletimings of transmitting information among the keyboard 1, the built-incontroller 11, and the higher-level system including the utility arealso shown. Note that, in FIGS. 12 to 15, some of the processing stepsperformed by the keyboard 1 are actually performed by a user.

First, a process of switching the Fn key locking mechanism from thedisabled state into the enabled state is described. Herein, it isassumed that, in the information processing apparatus 10, the utilityhas already determined that the keyboard BIOS operating on the built-oncontroller 11 is adapted to the Fn key locking mechanism and that the Fnkey locking mechanism is in the disabled state.

As shown in FIG. 12, in the information processing apparatus 10, if, instep S51, a user presses and releases singly the Fn key on the keyboard1, the pressing and releasing of the Fn key is detected by the built-incontroller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S52, thebuilt-in controller 11 informs the utility that the Fn key has beensingly pressed and released. More specifically, in the informationprocessing apparatus 10, the routine described earlier with reference toFIG. 8 is performed by the built-in controller 11 to inform the utilitythat the Fn key has been singly pressed and released. In the aboveprocess, in the present information processing apparatus 10, theinformation indicating that the Fn key has been singly pressed andreleased is transmitted not via the keyboard controller 11 a but via theSPIC 11 b.

In the information processing apparatus 10, if steps S51 and S52 areperformed repeatedly 5 times within a predetermined period, then in stepS53 the utility recognized that the Fn key has been singly pressed andreleased repeatedly 5 times.

In the information processing apparatus 10, in the next step S54, inorder to determine whether the user wants to set the Fn key lockingmechanism into the enabled state, a user interface in the form of asetting dialog box 40 such as that shown in FIG. 13 is displayed on thedisplay 16 under the control of the utility. In order for the user toeasily respond to the setting dialog box 40, the setting dialog box 40includes, for example, radio buttons for setting the Fn key lockingmechanism into the enabled state and the disabled state, respectively,an OK button for final decision, and a Cancel button for cancellation.

In the information processing apparatus 10, in step S55, the userperforms an operation to enable the Fn key locking mechanism, that is,to set it into the enabled state. More specifically, in the informationprocessing apparatus 10, the user presses and releases the Tab key tocheck (focus on) a desired radio button in the setting dialog box 40,presses and releases a predetermined key so as to select a radio buttonfor setting the Fn key locking mechanism into the enabled state, andfurther presses and releases the Tab key so as to focus on the OKbutton. Thereafter, if an Enter key on the keyboard is pressed andreleased, the Fn key locking mechanism is set into the enabled state. Inthe present information processing apparatus 10, the above inputoperation may also be performed using a pointing device such as a mouseor a jog dial. In the information processing apparatus 10, informationindicating the content of the above input operation is supplied to theutility.

In the information processing apparatus 10, in the next step S56, theutility receives, from the keyboard 1, the information indicating thecontent of the input operation. In the next step S57, the utilitytransmits a state switch command to the built-in controller 11 to switchthe Fn key locking mechanism from the disabled state to the enabledstate. In the present information processing apparatus 10, the abovestate switch command is transmitted not via the keyboard controller 11 abut via the SPIC 11 b.

In the information processing apparatus 10, in step S58, the built-incontroller 11 receives the state switch command from the utility. In thenext step S59, the built-in controller 11 sets the Fn key lockingmechanism into the enabled state and sets the Fn key into the unlockedstate. That is, in the in the present information processing apparatus10, when the Fn key is switched into the enabled state, the Fn key isset not into the locked state but into the unlocked state.

Thereafter, in the information processing apparatus 10, in order for theuser to easily recognize that the Fn key locking mechanism is in theenabled state, a state indication user interface in the form of a tasktray icon 50 indicating that the Fn key locking mechanism is in theenabled state is displayed on the display 16 under the control of theutility, as shown in FIG. 14. Thus, the sequence of processing steps iscompleted. In the information processing apparatus 10, depending onwhether the Fn key is in the locked state or the unlocked state, theutility may change the manner of displaying the task tray icon 50indicating the state of the keyboard BIOS responsible for the processassociated with the Fn key locking mechanism. More specifically, forexample, the task tray icon 50 may be blinked or changed in color. Inthis specific case, the task tray icon 50 is displayed so as to indicatethat the Fn key is in the unlocked state.

In the present information processing apparatus 10, as described above,if an input operation is performed by a user via the graphical userinterface capable of controlling the keyboard BIOS responsible forperforming the process associated with the Fn key locking mechanism,then, in response to the input operation, the utility transmits thestate switch command to the built-in controller 11 via the SPIC 11 b toswitch the Fn key locking mechanism from the disabled state into theenabled state.

Now, a process of switching the Fn key locking mechanism from theenabled state into the disabled state is described. Herein, it isassumed that, in the information processing apparatus 10, the Fn keylocking mechanism has already been set by the built-in controller 11into the enabled state and the utility has already determined that theFn key locking mechanism is in the enabled state.

As shown in FIG. 15, in the information processing apparatus 10, if, instep S61, a user presses and releases singly the Fn key on the keyboard1, the pressing and releasing of the Fn key is detected by the built-incontroller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S62, thebuilt-in controller 11 informs the utility that the Fn key has beensingly pressed and released. More specifically, in the informationprocessing apparatus 10, the routine described earlier with reference toFIG. 8 is performed by the built-in controller 11 to inform the utilitythat the Fn key has been singly pressed and released. In the aboveprocess, in the present information processing apparatus 10, theinformation indicating that the Fn key has been singly pressed andreleased is transmitted not via the keyboard controller 11 a but via theSPIC 11 b.

In the information processing apparatus 10, if steps S61 and S62 areperformed repeatedly 5 times within a predetermined period, then in stepS63 the utility detects that the Fn key has been singly pressed andreleased repeatedly 5 times.

In the information processing apparatus 10, in the next step S64, inorder to determine whether the user wants to set the Fn key lockingmechanism into the disabled state, the setting dialog box 40 such asthat described earlier with reference to FIG. 13 is displayed on thedisplay 16 under the control of the utility.

In the information processing apparatus 10, in the next step S65, theuser performs an operation to disable the Fn key locking mechanism, thatis, to set it into the disabled state. More specifically, in theinformation processing apparatus 10, as described earlier, the userpresses and releases the Tab key to check (focus on) a desired radiobutton in the setting dialog box 40, presses and releases thepredetermined key so as to select a radio button for setting the Fn keylocking mechanism into the disabled state, and further presses andreleases the Tab key so as to focus on the OK button. Thereafter, if theEnter key on the keyboard is pressed and released, the Fn key lockingmechanism is set into the disabled state. In the present informationprocessing apparatus 10, as described earlier, the above input operationmay also be performed using a pointing device such as a mouse or a jogdial. In the information processing apparatus 10, information indicatingthe content of the above input operation is supplied to the utility.

In the information processing apparatus 10, in the next step S66, theutility receives, from the keyboard 1, the information indicating thecontent of the input operation. In the next step S67, the utilitytransmits a state switch command to the built-in controller 11 to switchthe Fn key locking mechanism from the enabled state to the disabledstate. In the present information processing apparatus 10, the abovestate switch command is transmitted not via the keyboard controller 11 abut via the SPIC 11 b.

In the information processing apparatus 10, in step S68, the built-incontroller 11 receives the state switch command from the utility. In thenext step S69, the built-in controller 11 changes the Fn key lockingmechanism into the disabled state. In this case, in the presentinformation processing apparatus 10, the Fn key locking mechanism is setinto the unlocked state regardless whether the Fn key was previously inthe locked or unlocked state.

Thereafter, in the information processing apparatus 10, in order for theuser to recognize that the Fn key locking mechanism is in the disabledstate, the task tray icon 50 such as that described above with referenceto FIG. 14 is displayed on the display 16, under the control of theutility. Thus, the sequence of processing steps is completed.

In the present information processing apparatus 10, as described above,if an input operation is performed by a user via the graphical userinterface, then, in response to the input operation, the utilitytransmits the state switch command to the built-in controller 11 via theSPIC 11 b to switch the Fn key locking mechanism from the enabled stateinto the disabled state.

In the present information processing apparatus 10, by performing thesequence of processing steps described above, the utility switches theFn key locking mechanism between the enabled state and the disabledstate in the hotkey process.

In the information processing apparatus 10 in which the state isswitched in the above-described manner, if the Fn key is singly pressedand released once, the sequence of processing steps shown in FIG. 16 isperformed to display the launcher 2 on the display 16.

More specifically, in the information processing apparatus 10, as shownin FIG. 16, in step S71, under the control of the utility, it isdetermined whether the launcher 2 is already displayed on the display16.

In a case in which it is determined that the launcher 2 is not yetdisplayed on the display 16, the process proceeds to step S72. In stepS72, under the control of the utility, the information processingapparatus 10 displays the launcher 2 on the display 16, and the sequenceof processing steps is completed.

On the other hand, in a case in which it is determined that the launcher2 is already displayed on the display 16, the process proceeds to stepS73. In step S73, under the control of the utility, the informationprocessing apparatus 10 turns off the launcher 2 on the display 16, andthe sequence of processing steps is completed.

As described above, in the present information processing apparatus 10,if the Fn key is singly pressed and released once, the launcher 2 isdisplayed on the display 16.

In the information processing apparatus 10, when the launcher 2 isdisplayed on the display 16, if an arbitrary key is pressed andreleased, a sequence of processing steps shown in FIG. 17 is performed.

More specifically, as shown in FIG. 17, in the information processingapparatus 10, in step S81, the launcher 2 displayed on the display 16 isturned off under the control of the hotkey server 30 b serving as theutility.

In the information processing apparatus 10, in the next step S82, on thebasis of a scan code corresponding to the pressed and released key, thehotkey server 30 b serving as the utility determines whether the pressedand released key is one of additional keys assigned as hotkeys incombination with the Fn key.

If it is determined that the pressed and released key is not one of suchadditional keys, the information processing apparatus 10 terminates thesequence of processing steps.

On the other hand, in-the information processing apparatus 10, if it isdetermined that the pressed and released key is one of the additionalkeys, the process proceeds to step S83 and the built-in controller 11informs the utility that the Fn key and the additional key have beensimultaneously pressed and released by means of using the Fn key lockingmechanism. In this process, in the present information processingapparatus 10, the information indicating that the Fn key and theadditional key have been simultaneously pressed and released istransmitted not via the keyboard controller ha but via the SPIC 11 b.

In the information processing apparatus 10, in the next step S84, inorder to present to the user the hotkey function corresponding to thecombination of the Fn key and the additional key, a predeterminedapplication window in the form of a graphical user interface isdisplayed on the display 16 under the control of the hotkey server 30 bserving as the utility, and the sequence of processing steps iscompleted. In the above process performed in the present informationprocessing apparatus 10, if, for example, a function key labeled “F5” onthe keyboard is pressed and released as an additional key, theapplication for controlling the brightness of the display 16 isactivated and a predetermined window is displayed on the display 16, asdescribed earlier.

In the present information processing apparatus 10, as described above,when the launcher 2 is displayed on the display 16, if an arbitrary keyis pressed and released, a process is performed depending on which keyhas been pressed and released. In the present information processingapparatus 10, pressing and releasing an additional key is equivalent toindirectly selecting a corresponding hotkey menu icon 2 a, 2 b, 2 c, 2d, or 2 f in the launcher 2. Thus, instead of by pressing and releasingan additional key, the same process can be performed by directlyselecting one of hotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 f in thelauncher 2 using a particular key such as a cursor key or tab key, apointing device such as a mouse, or a jog dial. Specific examples ofmanners of operating the icons will be described later.

In the present information processing apparatus 10 in which the state isswitched and information is displayed in the above-described manner,when the Fn key locking mechanism is in the enabled state, the built-incontroller 11 switches the state of the Fn key between the locked stateand the unlocked state each time the Fn key is singly pressed andreleased, as shown in FIG. 18. More specifically, in the presentinformation processing apparatus 10, if a hotkey is used bysimultaneously pressing the Fn key and arbitrary one of the additionalkeys when the Fn key is in the unlocked state, the Fn key is kept in theunlocked state. However, in the present information processing apparatus10, when the Fn key is in the locked state, the state is switched intothe unlocked state if (i) a hotkey is used by simultaneously pressingthe Fn key and arbitrary one of the additional keys, (ii) one of theadditional keys assigned for use as hotkeys in combination with the Fnkey is singly pressed and released, or (iii) one of keys which are notassigned for use as hotkeys in combination with the Fn key is singlypressed and released. In the information processing apparatus 10,although not shown in the figures, when the Fn key is in the lockedstate, if one of the hotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 f inthe launcher 2 is selected via the predetermined operation instead ofsingly pressing and releasing one of the additional keys assigned foruse as hotkeys in combination with the Fn key, Fn key is also switchedinto the unlocked state.

More specifically, in the present information processing apparatus 10,when one of various types of keys is pressed and released in the lockedstate or the unlocked state, the sequence of processing steps shown inFIGS. 19 to 27 is performed depending on which key is pressed andreleased. In FIGS. 19 to 27, processes performed respectively by thekeyboard 1, the built-in controller 11, and the higher-level systemincluding the utility in the information processing apparatus 10 areshown, while timings of transmitting information among the keyboard 1,the built-in controller 11, and the higher-level system including theutility are also shown. Note that, in FIGS. 19 to 27, some of theprocessing steps performed by the keyboard 1 are actually performed by auser. As described earlier, pressing and releasing an additional key isequivalent to indirectly selecting a corresponding hotkey menu icon 2 a,2 b, 2 c, 2 d, or 2 f in the launcher 2, and thus, in FIGS. 19 to 27,the process performed in response to singly pressing and releasing oneof the additional keys can also be performed, although not described, byperforming the predetermined operation to directly select acorresponding hotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 f in thelauncher 2.

First, a hotkey process is described below, which is performed inresponse to sequential pressing of the Fn key and a particularadditional key when the Fn key locking mechanism is in the enabled andunlocked state. That is, when the Fn key locking mechanism in theenabled and unlocked state, if the Fn key locking mechanism is switchedinto the locked state and then if one of the additional keys assigned asthe hotkeys in combination with the Fn key is pressed and released, acorresponding hotkey process is performed as described below. Herein, itis assumed that, in the information processing apparatus 10, the Fn keylocking mechanism has already been set by the built-in controller 11into the enabled state and the Fn key has been set into the unlockedstate, and it is also assumed that the utility has already detected thatthe Fn key locking mechanism is in the enabled state. Furthermore, thelauncher 2 is not currently displayed on the display 16, but the tasktray icon 50 indicating that the Fn key is in the unlocked state isdisplayed on the display 16.

As shown in FIG. 19, in the information processing apparatus 10, if, instep S91, a user presses and releases singly the Fn key on the keyboard1 once, the pressing and releasing of the Fn key is detected by thebuilt-in controller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S92, thebuilt-in controller 11 informs the utility that the Fn key has beensingly pressed and released. More specifically, in the informationprocessing apparatus 10, the routine described earlier with reference toFIG. 8 is performed by the built-in controller 11 to inform the utilitythat the Fn key has been singly pressed and released. In the aboveprocess, in the present information processing apparatus 10, theinformation indicating that the Fn key has been singly pressed andreleased is transmitted not via the keyboard controller 11 a but via theSPIC 11 b.

In the information processing apparatus 10, in the next step S93, theutility receives the information indicating that the Fn key has beensingly pressed and released once.

In response, in the information processing apparatus 10, in the nextstep S94, a launcher 2 is displayed on the display 16 under the controlof the utility. More specifically, in the present information processingapparatus 10, the process described above with reference to FIG. 16 isperformed to display the launcher 2 on the display 16.

In the information processing apparatus 10, in the next step S95, thebuilt-in controller 11 switches the state of the Fn key lockingmechanism into the locked state. In the next step S96, the built-incontroller 11 informs the utility that the Fn key locking mechanism hasbeen switched from the unlocked state into the locked state. Morespecifically, in the information processing apparatus 10, the routinedescribed earlier with reference to FIGS. 9 and 10 is performed by thebuilt-in controller 11 to inform the utility that the Fn key lockingmechanism has been switched from the unlocked state into the lockedstate. In this process, in the information processing apparatus 10, theinformation indicating that the Fn key locking mechanism has beenswitched from the unlocked state into the locked state is transmittednot via the keyboard controller 11 a but via the SPIC 11 b.

In the information processing apparatus 10, in the next step S97, theutility receives, from the built-in controller 11, the informationindicating that the Fn key locking mechanism has been switched from theunlocked state into the locked state. In step S98, in order to informthe user that the Fn key locking mechanism has been switched into thelocked state, the task tray icon 50 displayed on the display 16 ischanged, under the control of the utility, so as to indicate that the Fnkey locking mechanism is in the locked state.

In the information processing apparatus 10, as shown in FIG. 20, if theuser presses, in step S99, one of the additional keys assigned for useas hotkeys in combination with the Fn key, the pressing of the key isdetected by the built-in controller 11 monitoring the input operation onthe keyboard 1. More specifically, in the present information processingapparatus 10, if, for example, a function key labeled “F5” on thekeyboard is pressed by the user, a hotkey function for controlling thebrightness of the display 16 is performed.

In the information processing apparatus 10, in the next step S100, thebuilt-in controller 11 transmits, to the utility, an event message whichindicates not a scan code corresponding to the pressed additional keybut a hotkey corresponding to the additional key. More specifically, inthe present information processing apparatus 10, in a case in which thefunction key labeled “F5” on the keyboard is pressed in step S99, anevent message indicating that the brightness control of the display 16should be performed is transmitted from the built-in controller 11 tothe utility. In this case, in the present information processingapparatus 10, the above event message is transmitted not via thekeyboard controller 11 a but via the SPIC 11 b.

In the information processing apparatus 10, in step S101, the utilityreceives the event message transmitted from the built-in controller 11.In step S102, under the control of the utility, the launcher 2 displayedon the display 16 is turned off. In step S103, in order to present tothe user the hotkey function corresponding to the combination of the Fnkey and the additional key, the application window serving as thegraphical user interface is displayed on the display 16 under thecontrol of the utility. More specifically, in the present informationprocessing apparatus 10, the process described above with reference toFIG. 17 is performed to display the application window on the display16. For example, in the present information processing apparatus 10, ifthe event message received by the utility indicates that the brightnesscontrol of the display 16 should be performed, the application forcontrolling the brightness of the display 16 is activated and thepredetermined window is displayed on the display 16 so as to present anenvironment which allows the user to adjust the brightness.

Thereafter, in the information processing apparatus 10, if the userreleases, in step S104, the singly pressed additional key, then, in stepS105, the built-in controller 11 switches the state of the Fn keylocking mechanism into the unlocked state. Thereafter, in step S106, thebuilt-in controller 11 informs the utility that the Fn key lockingmechanism has been switched from the locked state into the unlockedstate. More specifically, in the information processing apparatus 10,the routine described earlier with reference to FIGS. 9 and 10 isperformed by the built-in controller 11 to inform the utility that theFn key locking mechanism has been switched from the locked state intothe unlocked state. In this process, in the present informationprocessing apparatus 10, the information indicating that the Fn keylocking mechanism has been switched from the locked state into theunlocked state is transmitted not via the keyboard controller 11 a butvia the SPIC 11 b.

In the information processing apparatus 10, in the next step S107, theutility receives, from the built-in controller 11, the informationindicating that the Fn key locking mechanism has been switched from thelocked state into the unlocked state. In step S108, in order to informthe user that the Fn key locking mechanism has been switched into theunlocked state, the task tray icon 50 displayed on the display 16 ischanged, under the control of the utility, so as to indicate that the Fnkey locking mechanism is in the unlocked state. Thus, the sequence ofprocessing steps is completed.

In the present information processing apparatus 10, as described above,when the Fn key locking mechanism is in the enabled state and the Fn keyis in the unlocked state, if the Fn key is singly pressed and releasedby the user, the Fn key is switched into the locked state and thelauncher 2 serving as the graphical user interface is displayed on thedisplay 16. In this state, if the user presses and releases one of theadditional keys while referring to the launcher 2, a hotkey processcorresponding to the pressed additional key is performed. Thus, in thepresent information processing apparatus 10, a desired hotkey processcan be performed by sequentially pressing the Fn key and an additionalkey instead of simultaneously pressing and releasing them.

When the Fn key locking mechanism is in the enabled state and the Fn keyis in the unlocked state, if one of the additional keys which are notassigned for use as hotkeys in combination with the Fn key is singlypressed and released, the Fn key is switched into the locked state andthe process described below is performed. Herein, it is assumed that, inthe information processing apparatus 10, the Fn key locking mechanismhas already been set by the built-in controller 11 into the enabledstate and the Fn key has been set into the unlocked state, and it isalso assumed that the utility has already detected that the Fn keylocking mechanism is in the enabled state. Furthermore, the launcher 2is not currently displayed on the display 16, but the task tray icon 50indicating that the Fn key is in the unlocked state is displayed on thedisplay 16.

As shown in FIG. 21, in the information processing apparatus 10, if, instep S111, a user presses and releases singly the Fn key on the keyboard1 once, the pressing and releasing of the Fn key is detected by thebuilt-in controller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S112, thebuilt-in controller 11 informs the utility that the Fn key has beensingly pressed and released. More specifically, in the informationprocessing apparatus 10, the routine described earlier with reference toFIG. 8 is performed by the built-in controller 11 to inform the utilitythat the Fn key has been singly pressed and released. In the aboveprocess, in the present information processing apparatus 10, theinformation indicating that the Fn key has been singly pressed andreleased is transmitted not via the keyboard controller 11 a but via theSPIC 11 b.

In the information processing apparatus 10, in the next step S113, theutility receives the information indicating that the Fn key has beensingly pressed and released once.

In response, in the information processing apparatus 10, in the nextstep S114, a launcher 2 is displayed on the display 16 under the controlof the utility. More specifically, in the present information processingapparatus 10, the process described above with reference to FIG. 16 isperformed to display the launcher 2 on the display 16.

Thereafter, in the information processing apparatus 10, in step S115,the built-in controller 11 switches the state of the Fn key lockingmechanism into the locked state. Thereafter, in step S116, the built-incontroller 11 informs the utility that the Fn key locking mechanism hasbeen switched from the unlocked state into the locked state. Morespecifically, in the information processing apparatus 10, the routinedescribed earlier with reference to FIGS. 9 and 10 is performed by thebuilt-in controller 11 to inform the utility that the Fn key lockingmechanism has been switched from the unlocked state into the lockedstate. In the above process, in the present information processingapparatus 10, the information indicating that the Fn key lockingmechanism has been switched from the unlocked state into the lockedstate is transmitted not via the keyboard controller 11 a but via theSPIC 11 b.

In the information processing apparatus 10, in the next step S117, theutility receives, from the built-in controller 11, the informationindicating that the Fn key locking mechanism has been switched from theunlocked state into the locked state. In step S118, in order to informthe user that the Fn key locking mechanism has been switched into thelocked state, the task tray icon 50 displayed on the display 16 ischanged, under the control of the utility, so as to indicate that the Fnkey locking mechanism is in the locked state.

In the information processing apparatus 10, as shown in FIG. 22, in stepS119, if one of the additional keys on the keyboard 1, which are notassigned for use as hotkeys in combination with the Fn key, such as afunction key labeled “F9” on the keyboard, is singly pressed by theuser, the pressing of the key is detected by the built-in controller 11monitoring the input operation on the keyboard 1.

Thereafter, in the information processing apparatus 10, in step S120,the built-in controller 11 transmits, to the conventional higher-levelsystem part other than the utility, an event message indicating a scancode corresponding to the pressed key. For example, in the presentinformation processing apparatus 10, in a case in which the function keylabeled “F9” on the keyboard is pressed in step S119, an event messageindicating that the function key “F9” has been pressed is transmittedfrom the built-in controller 11 to the higher-level system. In thiscase, in the present information processing apparatus 10, the aboveevent message is transmitted via the keyboard controller 11 a. That is,in the in the present information processing apparatus 10, because keyswhich are not assigned for use as hotkeys in combination with the Fn keyare not recognized by the SPIC 11 b, the event message indicating thescan code assigned to the pressed key of such the type is transmittedvia a usual path, that is, via the keyboard controller 11 a. Thereafter,in the information processing apparatus 10, in step S121, thehigher-level system receives the event message transmitted from thebuilt-in controller 11.

Thereafter, in the information processing apparatus 10, in step S122,under the control of the utility, the launcher 2 displayed on thedisplay 16 is turned off. If the user releases, in step S123, the singlypressed key, then, in step S124, the built-in controller 11 switches thestate of the Fn key locking mechanism into the unlocked state.Thereafter, in step S125, the built-in controller 11 informs the utilitythat the Fn key locking mechanism has been switched from the lockedstate into the unlocked state. More specifically, in the informationprocessing apparatus 10, the routine described earlier with reference toFIGS. 9 and 10 is performed by the built-in controller 11 to inform theutility that the Fn key locking mechanism has been switched from thelocked state into the unlocked state. In the above process, in thepresent information processing apparatus 10, the information indicatingthat the Fn key locking mechanism has been switched from the lockedstate into the unlocked state is transmitted not via the keyboardcontroller 11 a but via the SPIC 11 b.

In the information processing apparatus 10, in the next step S126, theutility receives, from the built-in controller 11, the informationindicating that the Fn key locking mechanism has been switched from thelocked state into the unlocked state. In step S127, in order to informthe user that the Fn key locking mechanism has been switched into theunlocked state, the task tray icon 50 displayed on the display 16 ischanged, under the control of the utility, so as to indicate that the Fnkey locking mechanism is in the unlocked state. Thus, the sequence ofprocessing steps is completed.

In the present information processing apparatus 10, as described above,when the Fn key locking mechanism is in the enabled state and the Fn keyis in the unlocked state, if the Fn key is singly pressed and thenreleased, the Fn key is switched into the locked state. In this state,if any key other than the additional keys is pressed and released, theFn key is switched again into the unlocked state. Thus, in the presentinformation processing apparatus 10, when the Fn key is in the lockedstate, if any one of the keys which are not assigned for use as hotkeysin combination with the Fn key is singly pressed and released, acorresponding process is properly performed without resulting in anyproblem.

When the Fn key locking mechanism is in the enabled state and the Fn keyis in the unlocked state, if the Fn key and one of additional keys aresimultaneously pressed, a corresponding hotkey process is performed inthe conventional manner as described below. That is, when the Fn keylocking mechanism is in the enabled state and the Fn key is in theunlocked state, if the Fn key and one of the additional keys assignedfor use as hotkeys in combination with the Fn key are simultaneouslypressed, a hotkey process assigned to the combination of the Fn key andthe pressed additional key is performed. Herein, it is assumed that, inthe information processing apparatus 10, the Fn key locking mechanismhas already been set by the built-in controller 11 into the enabledstate and the Fn key has been set into the unlocked state, and it isalso assumed that the utility has already detected that the Fn keylocking mechanism is in the enabled state. Furthermore, the launcher 2is not currently displayed on the display 16, but the task tray icon 50indicating that the Fn key is in the unlocked state is displayed on thedisplay 16.

As shown in FIG. 23, in the information processing apparatus 10, if, instep S131, a user presses singly the Fn key on the keyboard 1 and holdsit in the pressed state, the pressing of the Fn key is detected by thebuilt-in controller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S132, thebuilt-in controller 11 does not inform the utility that the Fn key hasbeen singly pressed. That is, as described earlier, in the presentinformation processing apparatus 10, if the Fn key being in the pressedstate is released, the built-in controller 11 transmits informs theutility that the Fn key has been pressed, as described earlier. However,because the Fn key is not released yet at this step S132, theinformation is not transmitted to the utility.

In the information processing apparatus 10, in the next step S133, ifone of the additional keys, on the keyboard 1, assigned for use ashotkeys in combination with the Fn key is further pressed by the userwhile holding down the Fn key, the pressing of the key is detected bythe built-in controller 11 monitoring the input operation on thekeyboard 1. For example, in the present information processing apparatus10, when the user wants to activate a hotkey process for brightnesscontrol of the display 16, the user can do it, as described earlier, bypressing the function key labeled “F5” on the keyboard serving as anadditional key together with the Fn key.

In the information processing apparatus 10, in the next step S134, thebuilt-in controller 11 informs the utility that the Fn key and theadditional key have been simultaneously pressed. In the above process,in the present information processing apparatus 10, the informationindicating that the Fn key and the additional key has beensimultaneously pressed is transmitted not via the keyboard controller 11a but via the SPIC 11 b.

Thus, in the information processing apparatus 10, in the next step S135,the utility receives, from the built-in controller 11, the informationindicating that the Fn key and the additional key have beensimultaneously pressed. In the next step S136, in order to present tothe user the hotkey function corresponding to the combination of the Fnkey and the additional key, the application window serving as thegraphical user interface is displayed on the display 16 under thecontrol of the utility. For example, in the present informationprocessing apparatus 10, in a case in which the information received bythe utility indicates that the Fn key and the function key labeled “F5”on the keyboard have been simultaneously pressed, the application forcontrolling the brightness of the display 16 is activated and thepredetermined window is displayed on the display 16 so as to present anenvironment which allows the user to adjust the brightness, as describedearlier.

In the information processing apparatus 10, in the next step S137, thebuilt-in controller 11 holds the Fn key locking mechanism in the enabledand unlocked state without changing the state, and the process iscompleted. In this case, in the present information processing apparatus10, the built-in controller 11 is not required to inform the utilitythat no state transitions occurred but the Fn key locking mechanism isheld in the enabled state and the Fn key is held in the unlocked state.

In the present information processing apparatus 10, as described above,when the Fn key locking mechanism is in the enabled state and the Fn keyis in the unlocked state, if the user simultaneously presses the Fn keyand one of the additional keys, a corresponding hotkey process desiredby the user is performed. That is, in the present information processingapparatus 10, any hotkey process can be performed not only bysequentially pressing and releasing the Fn key and a correspondingadditional key but also by simultaneously pressing the Fn key and theadditional key in the conventional manner. This allows users who areproficient in the conventional operation to use hotkeys withoutencountering any problem.

When the Fn key locking mechanism is in the enabled state and the Fn keyis in the locked state, if the Fn key and one of the additional keys aresimultaneously pressed, a corresponding hotkey process is performed inthe conventional manner, as described below. That is, when the Fn keylocking mechanism is in the enabled state and the Fn key is in thelocked state, if the Fn key and one of the additional keys assigned foruse as hotkeys in combination with the Fn key are simultaneouslypressed, a hotkey process assigned to the combination of the Fn key andthe pressed additional key is performed. Herein, it is assumed that, inthe information processing apparatus 10, the Fn key locking mechanismhas already been set by the built-in controller 11 into the enabledstate and the Fn key has been set into the locked state, and it is alsoassumed that the utility has already detected that the Fn key lockingmechanism is in the enabled state. Furthermore, the launcher 2 is notcurrently displayed on the display 16, but the task tray icon 50indicating that the Fn key is in the locked state is displayed on thedisplay 16.

As shown in FIG. 24, in the information processing apparatus 10, if, instep S141, a user presses singly the Fn key on the keyboard 1 and holdsit in the pressed state, the pressing of the Fn key is detected by thebuilt-in controller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S142, thebuilt-in controller 11 does not inform the utility that the Fn key hasbeen singly pressed.

In the information processing apparatus 10, in the next step S143, ifone of the additional keys, on the keyboard 1, assigned for use ashotkeys in combination with the Fn key is further pressed by the userwhile holding down the Fn key, the pressing of the key is detected bythe built-in controller 11 monitoring the input operation on thekeyboard 1. For example, in the present information processing apparatus10, when the user wants to activate a hotkey process for brightnesscontrol of the display 16, the user can do it, as described earlier, bypressing the function key labeled “F5” on the keyboard serving as anadditional key together with the Fn key.

In the information processing apparatus 10, in the next step S144, thebuilt-in controller 11 informs the utility that the Fn key and theadditional key have been simultaneously pressed. In the above process,in the present information processing apparatus 10, the informationindicating that the Fn key and the additional key has beensimultaneously pressed is transmitted not via the keyboard controller 11a but via the SPIC 11 b.

Thus, in the information processing apparatus 10, in the next step S145,the utility receives, from the built-in controller 11, the informationindicating that the Fn key and the additional key have beensimultaneously pressed. In the next step S146, in order to present tothe user the hotkey function corresponding to the combination of the Fnkey and the additional key, the application window serving as thegraphical user interface is displayed on the display 16 under thecontrol of the utility. For example, in the present informationprocessing apparatus 10, in a case in which the information received bythe utility indicates that the Fn key and the function key labeled “F5”on the keyboard have been simultaneously pressed, the application forcontrolling the brightness of the display 16 is activated and thepredetermined window is displayed on the display 16 so as to present anenvironment which allows the user to adjust the brightness, as describedearlier.

In the information processing apparatus 10, in the next step S147, thebuilt-in controller 11 switches the Fn key locking mechanism into theenabled and unlocked state. In the next step S148, the built-incontroller 11 informs the utility that the Fn key locking mechanism hasbeen switched from the locked state into the unlocked state. Morespecifically, in the information processing apparatus 10, the routinedescribed earlier with reference to FIGS. 9 and 10 is performed by thebuilt-in controller 11 to inform the utility that the Fn key lockingmechanism has been switched from the locked state into the unlockedstate. In the above process, in the present information processingapparatus 10, the information indicating that the Fn key lockingmechanism has been switched from the locked state into the unlockedstate is transmitted not via the keyboard controller 11 a but via theSPIC 11 b.

In the information processing apparatus 10, in the next step S149, theutility receives, from the built-in controller 11, the informationindicating that the Fn key locking mechanism has been switched from thelocked state into the unlocked state. In the next step S150, in order toinform the user that the Fn key locking mechanism has been switched intothe unlocked state, the task tray icon 50 displayed on the display 16 ischanged, under the control of the utility, so as to indicate that the Fnkey locking mechanism is in the unlocked state. Thus, the sequence ofprocessing steps is completed.

In the present information processing apparatus 10, as described above,when the Fn key locking mechanism is in the enabled state and the Fn keyis in the locked state, if the user simultaneously presses the Fn keyand one of the additional keys, a corresponding hotkey process desiredby the user is performed. Thus, in the present information processingapparatus 10, also in the unlocked state, any hotkey process can beperformed not only by sequentially pressing and releasing the Fn key anda corresponding additional key but also by simultaneously pressing theFn key and the additional key in the conventional manner. This allowsusers who are proficient in the conventional operation to use hotkeyswithout encountering any problem.

When the Fn key locking mechanism is in the disabled state, if the Fnkey and one of the additional keys are simultaneously pressed, acorresponding hotkey process is also performed in the conventionalmanner as described below. That is, when the Fn key locking mechanism isin the disabled state, if the Fn key and one of the additional keysassigned for use as hotkeys in combination with the Fn key aresimultaneously pressed, a hotkey process assigned to the combination ofthe Fn key and the pressed additional key is performed. In other words,this provides exactly the same user interface as the conventional userinterface for achieving hotkeys by simultaneously pressing the Fn keyand one of the additional keys. Note that, in the present informationprocessing apparatus 10, as a matter of course, when the Fn key lockingmechanism is in the disabled state, the Fn key is always in the unlockedstate. Herein, it is assumed that, in the information processingapparatus 10, the Fn key locking mechanism has already been set by thebuilt-in controller 11 into the disabled state, and it is also assumedthat the utility has already detected that the Fn key locking mechanismis in the disabled state. Furthermore, the launcher 2 and the task trayicon 50 are not displayed on the display 16.

As shown in FIG. 25, in the information processing apparatus 10, if, instep S151, a user presses singly the Fn key on the keyboard 1 and holdsit in the pressed state, the pressing of the Fn key is detected by thebuilt-in controller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S152, thebuilt-in controller 11 does not inform the utility that the Fn key hasbeen singly pressed.

In the information processing apparatus 10, in the next step S153, ifone of the additional keys, on the keyboard 1, assigned for use ashotkeys in combination with the Fn key is further pressed by the userwhile holding down the Fn key, the pressing of the key is detected bythe built-in controller 11 monitoring the input operation on thekeyboard 1. For example, in the present information processing apparatus10, when the user wants to activate a hotkey process for brightnesscontrol of the display 16, the user can do it, as described earlier, bypressing the function key labeled “F5” on the keyboard serving as anadditional key together with the Fn key.

In the information processing apparatus 10, in the next step S154, thebuilt-in controller 11 informs the utility that the Fn key and theadditional key have been simultaneously pressed. In the above process,in the present information processing apparatus 10, the informationindicating that the Fn key and the additional key has beensimultaneously pressed is transmitted not via the keyboard controller 11a but via the SPIC 11 b.

Thus, in the information processing apparatus 10, in the next step S155,“****PI.sys” in the operating system 20 receives, from the built-incontroller 11, the information indicating that the Fn key and theadditional key have been simultaneously pressed. Then in step S156, theinformation is transferred to “***Util.DLL”.

In the present information processing apparatus 10, if “***Util.DLL”receives, in step S157, the information indicating that the Fn key andthe additional key have been simultaneously pressed, then, in step S158,“***Util.DLL” converts this information so as to indicate a specifichotkey process assigned to the combination of the Fn key and the pressedadditional key. The resultant information is then transmitted to thehotkey server 30 b serving as the utility in the application program 30.

In the present information processing apparatus 10, if the hotkey server30 b receives, in step S159, the information indicating the specifichotkey process, then in the next step S160, in order to present to theuser the hotkey function corresponding to the combination of the Fn keyand the additional key, the application window serving as the graphicaluser interface is displayed on the display 16 under the control of thehotkey server 30 b, and the sequence of processing steps is completed.For example, in the present information processing apparatus 10, in acase in which the information received by the utility indicates that theFn key and the function key labeled “F5” on the keyboard have beensimultaneously pressed, the application for controlling the brightnessof the display 16 is activated and the predetermined window is displayedon the display 16 so as to present an environment which allows the userto adjust the brightness, as described earlier.

In the present information processing apparatus 10, as described above,when the Fn key locking mechanism is in the disabled state, if the usersimultaneously presses the Fn key and one of the additional keys, acorresponding hotkey process desired by the user is performed. That is,in the present information processing apparatus 10, when the Fn keylocking mechanism is in the disabled state, any hotkey process can beperformed properly in the conventional manner without resulting in anyproblem.

As described above, in the present information processing apparatus 10,any hotkey process in conjunction with the Fn key can be performedregardless of whether the Fn key locking mechanism is in the enabledstate or the disabled state.

In the present information processing apparatus 10, when the Fn keylocking mechanism is in either the enabled state or the disabled stateand the Fn key is in the unlocked state, if a usual key other than theFn key is pressed and released, a sequence of processing steps shown inFIGS. 26 and 27 is performed, as described below. Herein, it is assumedthat, in the information processing apparatus 10, the Fn key lockingmechanism has already been set by the built-in controller 11 into theenabled state or the disabled state, and it is also assumed that theutility has already detected whether the Fn key locking mechanism is inthe enabled state or the disabled state.

As shown in FIG. 26, in the information processing apparatus 10, if, instep S161, a user presses an arbitrary key other than the Fn key on thekeyboard 1, the pressing of the key is detected by the built-incontroller 11 monitoring the input operation on the keyboard 1. Forconvenience of description, it is assured herein that an alphanumerickey labeled “A” on the keyboard has been pressed.

In the information processing apparatus 10, in the next step S162, thebuilt-in controller 11 informs the higher-level system that thealphanumeric key labeled “A” on the keyboard has been pressed. In thiscase, in the present information processing apparatus 10, the aboveinformation indicating that the key has been pressed is transmitted viathe keyboard controller 11 a as in the normal operation.

In the information processing apparatus 10, if, in step S163, thekeyboard driver described above in the operating system 20 receives,from the built-in controller 11, the information indicating that thealphanumeric key labeled “A” on the keyboard has been pressed, then, inthe next step S164, this information is transferred to the stub driversuch as “kbdjpn.DLL”.

In the information processing apparatus 10, if the stub driver receives,in step S165, the information indicating that the alphanumeric keylabeled “A” on the keyboard has been pressed, then, in the next stepS166, the stub driver converts the received information indicating thatthe alphanumeric key labeled “A” on the keyboard has been pressed intoinformation indicating that a specific key, “A” or “a” in this case, hasbeen pressed. The resultant information is then supplied, as“WM_KEYDOWN”, to the application 30 a in the application programs 30.

In the information processing apparatus 10, as shown in FIG. 27, in stepS167, if the user releases the pressed alphanumeric key labeled “A” onthe keyboard, the releasing of the key is detected by the built-incontroller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S168, thebuilt-in controller 11 informs the higher-level system that thealphanumeric key labeled “A” on the keyboard has been released from thepressed state. In this case, in the present information processingapparatus 10, the information indicating that the key has been releasedis transmitted via the keyboard controller 11 a, as in the normaloperation.

Thus, in the information processing apparatus 10, in step S169, if thekeyboard driver receives, from the built-in controller 11, theinformation indicating that the alphanumeric key labeled “A” on thekeyboard has been released, then, in the next step S170, thisinformation is transferred to the stub driver such as “kbdjpn.DLL”.

In the information processing apparatus 10, if the stub driver receives,in step S171, the information indicating that the alphanumeric keylabeled “A” on the keyboard has been released, then, in the next stepS172, the stub driver converts the received information indicating thatthe alphanumeric key labeled “A” on the keyboard has been released intoinformation indicating that a specific key, “A” or “a” in this case, hasbeen released. The resultant information is then supplied, as“WM_KEYUP”, to the particular application 30 a in the applicationprogram 30.

In the present information processing apparatus 10, as described above,when the Fn key locking mechanism is in either the enabled state or thedisabled state and the Fn key is in the unlocked state, if a usual keyother than the Fn key is pressed, a corresponding process is performedvia the keyboard controller 11 a in the normal manner.

In the information processing apparatus 10 according to the presentembodiment described above, one of the additional keys is pressed andreleased. Alternatively, one of hotkey menu icons 2 a, 2 b, 2 c, 2 d,and 2 f in the launcher 2 may be directly selected using a particularkey such as a cursor key or tab key, a pointing device such as a mouse,or a jog dial. That is, instead of by pressing and releasing anadditional key, the same process can be performed by directly selectingcorresponding one of the hotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 fin the launcher 2 using a particular key such as a cursor key or tabkey, the pointing device such as the mouse, or the jog dial.

More specifically, in the present information processing apparatus 10, adesired one of the hotkey menu icons 2 a, 2 b, 2 c, 2 d, and 2 f in thelauncher 2 can be selected not only by directly pressing and releasingan additional key corresponding to the desired icon to be selected, butalso by pressing and releasing a particular key such as a cursor key ora Tab key on the keyboard so as to focus the hotkey menu icon to beselected and then pressing and releasing the Enter key, thereby causingthe same process as that performed in response to pressing and releasingthe corresponding additional key to be performed under the control ofthe utility. Furthermore, in the present information processingapparatus 10, the same hotkey process as that performed in response topressing and releasing an additional key can also be performed by adesired hotkey menu icon can also be selected by clicking on the iconwith a pointing device such as a mouse. Also in this case, the samehotkey process as that performed in response to pressing and releasingthe additional key corresponding to the clicked icon is performed underthe control of the utility. Still furthermore, in the presentinformation processing apparatus 10, a desired one of the hotkey menuicons can also be selected by rotating a jog dial so as to focus thehotkey menu icon to be selected and then pressing down the jog dial,thereby causing the same process as that performed in response topressing and releasing the corresponding additional key to be performedunder the control of the utility.

In the present information processing apparatus 10, if an applicationcorresponding to an additional key is activated and a correspondingwindow is displayed on the display 16, the settings of the hotkey menuare changed under the control of the utility in response to an operationperformed by a user. The setting of the hotkey menu may also be changedvia an operation described below.

That is, in the present information processing apparatus 10, when thelauncher 2 is active and displayed on the display 16, a desired one ofthe hotkey menu icons is focused on and selected by means of one ofmethods described earlier. In response, in the present informationprocessing apparatus 10, an application corresponding to the selectedhotkey menu icon is activated and a specific window is displayed on thedisplay 16 under the control of the utility. In this state, a setting ofthe hotkey menu can be changed using a cursor key or the like. Afterchanging the setting, if the Enter key is pressed and released, thesetting is saved under the control of the utility.

In the present information processing apparatus 10, the settings of therespective hotkey menus can also be changed by performing the aboveoperation. In the present information processing apparatus 10, afterchanging the setting of a hotkey menu corresponding to a hotkey menuicon, the setting of another hotkey menu can be changed by repeating theabove-described operation without having to again press and release theFn key.

Furthermore, in the present information processing apparatus 10, thebuilt-in controller 11 may switch the state of the Fn key lockingmechanism in response to a change in the state of a power supply.

That is, in the present information processing apparatus 10, as shown inFIG. 28, if the sate of the power supply has been switched from anactive state into a sleep state, the state of the Fn key lockingmechanism associated with the Fn key is switched into the unlockedstate, while holding the Fn key locking mechanism in the same enabled ordisabled state as the Fn key locking mechanism was before the transitionof the state of the power supply. In the present information processingapparatus 10, if the sate of the power supply has been switched from anactive state into a sleep state, the state of the Fn key lockingmechanism is switched into the disabled and unlocked state. In thepresent information processing apparatus 10, if the state of the powersupply is switched from a standby state into an active state, the stateof the Fn key locking mechanism associated with the specific key isswitched into the unlocked state, while holding the Fn key lockingmechanism in the same enabled or disabled state as the Fn key lockingmechanism was before the transition of the state of the power supply. Inthe present information processing apparatus 10, if the sate of thepower supply has been switched from a sleep state into an active state,the Fn key locking mechanism is switched into the disabled and unlockedstate.

In the present information processing apparatus 10, as described above,when the status of the power supply is changed, for example, byperforming a hotkey process, the state of the Fn key locking mechanismis switched depending on the change in the state of the power supply.

In the present information processing apparatus 10, backwardcompatibility associated with the keyboard BIOS and the utility can beachieved even when one or both of the keyboard BIOS and the utility arenot adapted to the Fn key locking mechanism, because the keyboard BIOSand the utility operate in the manner described below. Herein, forconvenience, a BIOS and a utility which are adapted to the Fn keylocking mechanism are respectively referred to as a new-type keyboardBIOS and a new-type utility, and a BIOS and a utility which are notadapted to the Fn key locking mechanism are respectively referred to asa conventional keyboard BIOS and a conventional utility.

More specifically, in the information processing apparatus 10, as shownin FIG. 29, in a case where a new-type keyboard BIOS and a new-typeutility are combined together, the utility queries the keyboard BIOSwhether the keyboard BIOS is adapted to the Fn key locking mechanism. Inresponse, the keyboard BIOS informs the utility that the keyboard BIOSis adapted to the Fn key locking mechanism. Thus, the utility recognizesthat the keyboard BIOS is adapted to the Fn key locking mechanism.Thereafter, if the keyboard BIOS receives a communication request fromthe utility, the keyboard BIOS behaves as a new-type keyboard BIOS.Thus, in this case, the information processing apparatus 10 behaves asan apparatus adapted to the Fn key locking mechanism.

In the information processing apparatus 10, as shown in FIG. 29, in acase where a new-type keyboard BIOS and a conventional utility arecombined together, because the utility operates in the conventionalmanner and does not performs a process associated with the Fn keylocking mechanism, the keyboard BIOS never receives a communicationrequest from the utility and thus the keyboard BIOS operates in asimilar manner to the conventional keyboard BIOS. Thus, in this case,the information processing apparatus 10 behaves as an apparatus which isnot adapted to the Fn key locking mechanism.

In the information processing apparatus 10, as shown in FIG. 29, in acase where a conventional keyboard BIOS and a new-type utility arecombined together, although the utility queries the keyboard BIOSwhether the keyboard BIOS is adapted to the Fn key locking mechanism,the keyboard BIOS cannot reply to the query. Thus, the utilityrecognizes that the keyboard BIOS is not adapted to the Fn key lockingmechanism. Thus, in this case, the information processing apparatus 10behaves as an apparatus which is not adapted to the Fn key lockingmechanism.

In the information processing apparatus 10, as shown in FIG. 29, in acase where a conventional keyboard BIOS and a conventional utility arecombined together, the utility operates in the conventional mannerwithout performing a process associated with the Fn key lockingmechanism, and the keyboard BIOS operates in the conventional mannerwithout performing a process associated with the Fn key lockingmechanism. Thus, in this case, the information processing apparatus 10behaves as an apparatus which is not adapted to the Fn key lockingmechanism.

In the present information processing apparatus 10, as described above,backward compatibility can be achieved for any combination of thekeyboard BIOS and the utility.

In the present information processing apparatus 10, as described above,the process associated with the Fn key locking mechanism is performed bythe keyboard BIOS operating on the built-in controller 11 such that theFn key locking mechanism has the enabled state in which the Fn keylocking mechanism is enabled and also has the disabled state in whichthe Fn key locking mechanism is disabled, and such that the Fn keylocking mechanism further has the locked state and the unlocked statewhich are switchable between each other when the Fn key lockingmechanism is enabled. The keyboard BIOS and the utility communicate witheach other via the SPIC 11 b which is an input/output port differentfrom the keyboard controller 11 a, thereby allowing the utility todetect the state of the keyboard BIOS and set the keyboard BIOSregarding the state of the Fn key locking mechanism. This allows theinformation processing apparatus 10 to have not only the capability ofhotkeys by means of simultaneously pressing a plurality of keys but alsothe capability of hotkeys by means of sequentially pressing a pluralityof keys. Thus, the present information processing apparatus 10 allowseven a user having a difficulty in simultaneously pressing a pluralityof keys because of, for example, a physical disability, to easily usethe hotkey capability.

Furthermore, in the present information processing apparatus 10, thelauncher 2 including an array of hotkey menu icon buttons 2 a, 2 b, 2 c,2 d, and 2 f for performing the hotkey functions corresponding to therespective additional keys is displayed on the display 16 under thecontrol of the utility, thereby allowing a user to call a desired hotkeyfunction not only by pressing and releasing a corresponding additionalkey but also simply by selecting a corresponding hotkey menu icon via apredetermined operation without having to remember which additional keycorresponds to which hotkey function, and thus providing a userinterface which can be easily used by the user to use hotkey functions.

Furthermore, in the present information processing apparatus 10, becausethe keyboard BIOS can be controlled by the utility, the user can set theFn key locking mechanism into a desired state at any time the userwants.

Furthermore, in the present information processing apparatus 10, bysetting the Fn key locking mechanism into the disabled state, it ispossible to provide a user interface similar to a conventional one inwhich a hotkey function is performed by simultaneously pressing aplurality of keys.

Furthermore, in the present information processing apparatus 10, becausethe conventional user interface, in which a hotkey function is called bysimultaneously pressing a plurality of keys, and the Fn key lockingmechanism are both available without causing any confliction, users whoare proficient in the conventional operation can also use the hotkeycapability without encountering any problem, even when the Fn keylocking mechanism is in the enabled state.

Furthermore, in the present information processing apparatus 10, becausethe graphical user interfaces such as the setting dialog box 40 and thetask tray icon 50 are displayed on the display 16 as required, the usercan easily recognize the state of the Fn key locking mechanism.

Furthermore, in the present information processing apparatus 10, the Fnkey locking mechanism can be controlled by software without having touse special hardware such as a PPK (Programmable Power Key) button.Furthermore, because the task tray icon 50 is displayed on the display16 to inform the user of the state of the Fn key locking mechanism,additional special hardware such as an indication LED (Light EmittingDiode) is not needed, and thus the number of necessary parts can bereduced.

As described above, in the present information processing apparatus 10,it is possible to provide an excellent user interface having highoperability and high convenience which meet requirements of varioususers, even in a case in which the information processing apparatus 10in limited in space for installing the keyboard 1.

Note that the present invention is not limited to the embodimentsdescribed above. For example, although in the information processingapparatus according to the embodiments described above, the informationprocessing apparatus has the Fn key locking mechanism, and the launcher2 is displayed on the display 16, the present invention may also beapplied to an information processing apparatus which does not have theFn key locking mechanism.

More specifically, in the case in which the information processingapparatus 10 does not have the Fn key locking mechanism, although thedisplay process described above with reference to FIG. 16 is performedin a similar manner as described above, the process to be performed,when the launcher 2 is displayed on the display 16, in response topressing and releasing of an arbitrary key is performed not inaccordance with the flow shown in FIG. 17 but in accordance with theflow shown in FIG. 30.

That is, as shown in FIG. 30, in the information processing apparatus10, in step S181, the launcher 2 displayed on the display 16 is turnedoff under the control of the hotkey server 30 b serving as the utility.

In the information processing apparatus 10, in the next step S182, onthe basis of a scan code corresponding to the pressed and released key,the hotkey server 30 b serving as the utility determines whether thepressed and released key is one of additional keys assigned as hotkeysused in combination with the Fn key.

If it is determined that the pressed and released key is not one of suchadditional keys, the information processing apparatus 10 terminates thesequence of processing steps.

On the other hand, in the present information processing apparatus 10,if it is determined that the pressed and released key is one of theadditional keys, then in the next step S183, in order to present to theuser the hotkey function corresponding to the combination of the Fn keyand the additional key, a predetermined application window in the formof a graphical user interface is displayed on the display 16 under thecontrol of the hotkey server 30 b serving as the utility, and thesequence of processing steps is completed. In the above processperformed in the present information processing apparatus 10, if, forexample, a function key labeled “F5” on the keyboard is pressed andreleased as an additional key, the application for controlling thebrightness of the display 16 is activated and a predetermined window isdisplayed on the display 16, as described earlier.

As described above, in the present information processing apparatus 10,even in the case in which the Fn key locking mechanism is not provided,when the launcher 2 is displayed on the display 16, if an arbitrary keyis pressed and released, a process is performed depending on which keyhas been pressed and released.

In the present information processing apparatus 10, even in the case inwhich the Fn key locking mechanism is not provided, a hotkey process isperformed, as shown in the flow chart of FIG. 31, in response tosequential pressing of the Fn key and one of the additional keys. Morespecifically, in the present information processing apparatus 10, whenthe launcher 2 is displayed on the display 16, if one of the additionalkeys is singly pressed and released, a hotkey process assigned to thecombination of the Fn key and the pressed and released additional key isperformed. The process is described in further detail below. Herein, itis assumed that the process starts from a state in which the launcher 2is not displayed on the display 16.

As shown in FIG. 31, in the information processing apparatus 10, if, instep S191, a user presses and releases singly the Fn key on the keyboard1 once, the pressing and releasing of the Fn key is detected by thebuilt-in controller 11 monitoring the input operation on the keyboard 1.

In the information processing apparatus 10, in the next step S192, thebuilt-in controller 11 informs the utility that the Fn key has beensingly pressed and released. In the above process, in the presentinformation processing apparatus 10, the information indicating that theFn key has been singly pressed and released is transmitted not via thekeyboard controller 11 a but via the SPIC 11 b.

In the information processing apparatus 10, in the next step S193, theutility receives the information indicating that the Fn key has beensingly pressed and released once.

In response, in the information processing apparatus 10, in the nextstep S194, a launcher 2 is displayed on the display 16 under the controlof the utility. More specifically, in the present information processingapparatus 10, the process described above with reference to FIG. 16 isperformed to display the launcher 2 on the display 16.

Thereafter, in the information processing apparatus 10, in step S195, ifone of the additional keys, on the keyboard 1, assigned for use ashotkeys in combination with the Fn key is pressed by the user, then thepressing of the key is detected by the built-in controller 11 monitoringthe input operation on the keyboard 1. For example, in the presentinformation processing apparatus 10, when the user wants to activate ahotkey process for brightness control of the display 16, the user can doit by pressing the function key labeled “F5” on the keyboard serving asan additional key.

In the information processing apparatus 10, in the next step S196, thebuilt-in controller 11 transmits, to the utility, an event messageindicating a scan code corresponding to the pressed key. In this case,in the present information processing apparatus 10, the above eventmessage is transmitted via the keyboard controller 11 a.

In the information processing apparatus 10, in step S197, the utilityreceives the event message transmitted from the built-in controller 11.In step S198, under the control of the utility, the launcher 2 displayedon the display 16 is turned off. In the next step S199, in order topresent to the user the hotkey function corresponding to the combinationof the Fn key and the additional key, the application window serving asthe graphical user interface is displayed on the display 16 under thecontrol of the utility, and the sequence of processing steps iscompleted. More specifically, in the present information processingapparatus 10, the process described above with reference to FIG. 30 isperformed to display the application window on the display 16. Forexample, in the present information processing apparatus 10, in a casein which the event message received by the utility indicates the scancode corresponding to the function key labeled “F5” on the keyboard, theapplication for controlling the brightness of the display 16 isactivated and the predetermined window is displayed on the display 16 soas to present an environment which allows the user to adjust thebrightness.

As described above, in the present information processing apparatus 10,even in the case in which the Fn key locking mechanism is not provided,the launcher 2 serving as the graphical user interface is displayed onthe display 16 thereby allowing a user to call a hotkey functioncorresponding to an additional key by singly pressing and releasing theadditional key indicated in the launcher 2. That is, in the presentinformation processing apparatus 10, even in the case in which the Fnkey locking mechanism is not provided, a desired hotkey function can becalled by sequentially pressing the Fn key and an additional key insteadof simultaneously pressing and releasing them.

In the embodiment described above, when the Fn key is singly pressed andreleased, the launcher 2 is displayed on the display 16 or turned off.Alternatively, in the present invention, the number of times the Fn keyis pressed and released to trigger the turning on or off the launcher 2may be set to any arbitrary value, and another key other than the Fn keyor another device may be used to trigger it. Specific examples oftriggering methods other than pressing the Fn key include operating ajog dial in a predetermined manner, clicking on, using a pointing devicesuch as mouse, a desired one of the icons displayed on the display 16,and pressing and releasing a dedicated PPK button.

In the embodiment described above, when a user have pressed and releasedthe Fn key successively 5 times, the setting dialog box 40 for settingthe Fn key locking mechanism into the enabled state or the disabledstate is displayed on the display 16, and setting is performed under thecontrol of the utility. Alternatively, in the present invention, thenumber of times the Fn key is pressed and released to trigger thedisplaying of the setting dialog box 40 may be set arbitrarily.Furthermore, another key other than the Fn key may be used as atriggering key.

In the embodiment described above, when the Fn key locking mechanism isin the enabled state, if the Fn key is singly pressed and released once,a transition between the locked state and the unlocked state occurs.Alternatively, in the present invention, the number of times the Fn keyis pressed and released to trigger the transition may be set to anyarbitrary value. Furthermore, another key other than the Fn key may beused to trigger the transition.

In the embodiments described above, when an arbitrary key is pressed andreleased, the Fn key locking mechanism is basically switched into theunlocked state. Alternatively, in the present invention, the Fn keylocking mechanism may be maintained in the locked state regardless ofhow many times an arbitrary key is pressed and released, unless a userintentionally switches the Fn key locking mechanism from the lockedstate into the unlocked state.

In the embodiment described above, the task tray icons 50 is displayedon the display 16 in order to inform a user of the state of the Fn keylocking mechanism. Alternatively, in the present invention, anindication LED may be provided instead of displaying the task tray icon50 on the display 16. In this case, the color of the LED may be changedor the LED may be blinked depending on the state of the Fn key lockingmechanism. For example, no LED may be lit when the Fn key lockingmechanism is in the disabled state, a green LED may be lit in theenabled and unlocked state, and an orange LED may be lit in the enabledand locked state.

In the embodiment described above, when the Fn key locking mechanism isin the disabled state, the task tray icons 50 is not displayed.Alternatively, in the present invention, the task tray icon 50indicating that the Fn key locking mechanism is in the disabled statemay be displayed on the display 16.

In the present invention, the utility may set and control the variousstates of the Fn key locking mechanism, such as the enabled state, thedisabled state, the locked state, and the unlocked state.

In the present invention, an application for displaying the launcher 2on the display 16 and an application for turning off the launcher 2 maybe separately provided and they may be implemented in the hotkey server30 b.

In the embodiment described above, the process associated with the Fnkey locking mechanism is performed by software. Alternatively, in thepresent invention, the process associated with the Fn key lockingmechanism may be performed by hardware using, for example, a PPK buttoncorresponding to a hotkey. More specifically, in the informationprocessing apparatus 10, as shown in FIG. 32, the built-in controllermay be directly connected to a south bridge in a chip set forcontrolling a PPK button via a GPIO (General Purpose Input/Output port)serving as a port different from the keyboard controller implemented onthe built-in controller or an ACPI (Advanced Configuration PowerInterface) controller, whereby the process associated with the Fn keylocking mechanism may be performed by means of hardware.

In the embodiments described above, the Esc (escape) key and functionskeys labeled “F3”, “F4”, “F5”, and “F12” on the keyboard are employed asthe additional keys, and the suspend function, the muting function, thevolume control function, the brightness control function, and thehibernation function are assigned as the specific processes to therespective additional keys. Alternatively, in the present invention,another key other than those described above may also be employed as anadditional key, and the processes assigned to the additional keys arenot limited to those described above.

In the embodiment described above, the hotkeys are realized incombination with the Fn key. Alternatively, in the present invention,hotkeys may also be realized in combination with another specific key.

In the embodiment described above, in a case in which a hotkey is usedby means of simultaneously pressing the Fn key and an additional key, inresponse to pressing of the Fn key, information indicating the Fn keyhas been pressed is supplied to the utility, while in a case in which ahotkey is used not by means of simultaneously pressing the Fn key and anadditional key, in response to pressing and releasing the key,information indicating that the key has been pressed and released issupplied to the utility. Alternatively, in the present invention,instead of detecting and informing of both pressing and releasing of thekey, only pressing of the key may be detected and informed of.

In the embodiments described above, the Fn key locking mechanism iscontrolled by the keyboard BIOS. Alternatively, in the presentinvention, the Fn key locking mechanism may be controlled by theoperating system. In the present invention, in the case in which the Fnkey locking mechanism is controlled by the operating system, anapplication program located at a level higher than the operating systemmay set the operating system so that the Fn key locking mechanism iscontrolled via the application program.

For example, in the present information processing apparatus 10, asystem at a level higher than the keyboard BIOS may set and control thedrivers embedded in the operating system 20 thereby setting the state ofthe Fn key locking mechanism. Information associated with the state ofthe Fn key locking mechanism controlled by the operating system 20 issupplied to the keyboard BIOS at a level lower than the system via aninput/output port different from the keyboard controller 11 a therebysetting the built-in controller 11 so as to reflect the state of the Fnkey locking mechanism. More specifically, in the present informationprocessing apparatus 10, if the state of the Fn key locking mechanism isset or changed by the operating system 20, information associated withthe state of the Fn key locking mechanism is supplied to the applicationprogram 30, thereby activating the utility in the application 30 b orthe application 30 a. In the present information processing apparatus10, at the same time as the information associated with the state of theFn key locking mechanism is supplied to the application program 30, theinformation is also supplied to the built-in controller 11 therebysetting the keyboard 1 so as to reflect the state of the Fn key lockingmechanism set by the operating system 20. In the present informationprocessing apparatus 10, if the state of the Fn key locking mechanism isset by the operating system 20, the launcher 2 is displayed on thedisplay 16 under the control of the utility in the application 30 b andthe Fn key locking mechanism is made usable, thereby allowing a user tocall a desired hotkey function by sequentially pressing the Fn key andan additional key without having to simultaneously press them.

As described above, in the present invention, various modifications arepossible without departing from the sprit and scope of the invention.

As can be understood from the above description, the present inventionhas great advantages. That is, the present invention provides theinformation processing apparatus having a capability of performing aspecific process in response to pressing of a combination of apredetermined specific key and a predetermined additional key, theinformation processing apparatus comprising: key input means including aplurality of keys arranged thereon and including the specific key andthe additional key; control means for controlling the key input meansand for controlling displaying, on the display means, various kinds ofinformation including at least a user interface for presenting aspecific menu including a specific process menu icon button assigned tothe specific process corresponding to the additional key, wherein, inresponse to pressing or releasing of the specific key, the control meansactivates the user interface for presenting the specific menu anddisplays the user interface on the display means.

In this information processing apparatus according to the presentinvention, in response to pressing or releasing of the specific key, thecontrol means activates the user interface for presenting the specificmenu and displays the user interface on the display means, therebyallowing a user to perform a desired specific process not only bysimultaneously pressing a plurality of keys in the conventional mannerbut also by sequentially pressing the plurality of keys in accordancewith the user interface for presenting the specific menu. This allowseven a user having a difficulty in simultaneously pressing a pluralityof keys because of, for example, a physical disability, to easily usethe hotkey capability. Furthermore, because the conventional userinterface in which a hotkey function is called by simultaneouslypressing a plurality of keys and the user interface for presenting thespecific menu are both available without causing any confliction, userswho are proficient in the conventional operation can also use hotkeyswithout encountering any problem, and thus it is possible to provide anexcellent user interface having high operability and high conveniencewhich meet requirements of various users.

The information processing apparatus according to the present inventionmay further comprise built-in control means for operating firmware so asto monitor the key input means to detect an input operation performed onthe key input means, wherein the built-in control means includes firstand second input/output ports which are logically different from eachother and implemented in the built-in control means, the firstinput/output port having a capability of transmitting information to ahigher-level system in response to pressing or releasing of a normal keyother than the specific key on the key input means to notify thehigher-level system that the normal key has been pressed or released,the second input/output port serving to communicate with the controlmeans; and in response to pressing or releasing of the specific key, thebuilt-in control means transmits, by operating the firmware and via thesecond input/output port, information indicating that the specific keyhas been pressed or released to a utility which is software executed bythe control means to control the key input means and control displaying,on the display means, various kinds of information including the userinterface for presenting the specific menu.

In the information processing apparatus according to the presentinvention, the built-in control means may perform a process associatedwith a specific key locking mechanism having a locked state in which thespecific key is equivalently kept pressed down although the specific keyis not actually pressed down and also having an unlocked state in whichthe specific key is equivalently not pressed; and the control means maydisplay, on the display means, the user interface which indicates atleast the state of the specific key locking mechanism.

In this information processing apparatus according to the presentinvention, the control means may detect the state of the built-incontrol means via the second input/output port, and the control meansmay set the built-in control means into either an enabled state in whichthe specific key locking mechanism is enabled or a disabled state inwhich the specific key locking mechanism is disabled.

Thus, in this information processing apparatus according to the presentinvention, in response to pressing or releasing of the specific key, thebuilt-in control means operates firmware so as to inform the utility viathe second input/output port that the specific key has been pressed orreleased, and the control means operates the utility so as to activatethe user interface for presenting the specific menu and display the userinterface on the display means. The control means performs the processassociated with the specific key locking mechanism such that the controlmeans operates the utility so as to detect the state of the firmware viathe second input/output port and to set the firmware into either theenabled state or the disabled state, thereby presenting both theconventional user interface in which a hotkey function is called bysimultaneously pressing a plurality of keys and the Fn key lockingmechanism without causing any confliction, and thus allowing users whoare proficient in the conventional operation to use hotkeys withoutencountering any problem.

In the information processing apparatus according to the presentinvention, the control means may display, on the display means, a userinterface for setting the specific key locking mechanism into theenabled state or the disabled state.

Thus, in the information processing apparatus, the user interface forsetting the specific key locking mechanism into the enabled state or thedisabled state is displayed on the display means under the control ofthe control means, thereby allowing a user to easily set the state ofthe specific key locking mechanism.

In the information processing apparatus according to the presentinvention, when the specific key locking mechanism is in the enabledstate, the control means may display, on the display means, the stateindication user interface so as to indicate that the specific keylocking mechanism is in the enabled state.

In the information processing apparatus according to the presentinvention, when the specific key locking mechanism is in the disabledstate, the control means may not display the state indication userinterface on the display means, or the control means may display, on thedisplay means, the state indication user interface indicating that thespecific key locking mechanism is in the disabled state.

Thus, in the information processing apparatus according to the presentinvention, if the specific key locking mechanism is in the enabledstate, the control means operates the utility so as to display, on thedisplay means, a state indication user interface indicating that thespecific key locking mechanism is in the enabled state. On the otherhand, if the specific key locking mechanism is in the disabled state,the control means operates the utility so as to not display the stateindication user interface on the display means or so as to display, onthe display means, the state indication user interface indicating thatthe specific key locking mechanism is in the disabled state, therebyallowing a user to easily recognize the state of the Fn key lockingmechanism.

The present invention also provides the an information processing methodfor performing a specific process in response to pressing of acombination of a predetermined specific key and a predeterminedadditional key, the information processing method comprising the stepsof controlling key input means and controlling displaying, on displaymeans, various kinds of information including at least a user interfacefor presenting a specific menu including a specific process menu iconbutton assigned to the specific process corresponding to the additionalkey; and in response to pressing or releasing of the specific keydisposed on key input means including a plurality of keys arrangedthereon and including the specific key and the additional key,activating the user interface for presenting the specific menu anddisplaying the user interface on the display means.

Thus, in the information processing method according to the presentinvention, in response to pressing or releasing of the specific key, theuser interface for presenting the specific menu is activated anddisplayed on the display means, thereby allowing a user to perform adesired specific process not only by simultaneously pressing a pluralityof keys in the conventional manner but also by sequentially pressing theplurality of keys in accordance with the user interface for presentingthe specific menu. This allows even a user having a difficulty insimultaneously pressing a plurality of keys because of, for example, aphysical disability, to easily use the hotkey capability. Furthermore,because the conventional user interface in which a hotkey function iscalled by simultaneously pressing a plurality of keys and the userinterface for presenting the specific menu are both available withoutcausing any confliction, users who are proficient in the conventionaloperation can also use hotkeys without encountering any problem, andthus it is possible to provide an excellent user interface having highoperability and high convenience which meet requirements of varioususers.

The information processing method according to the present invention mayfurther comprising the steps of monitoring, by operating firmware, thekey input means to detect an input operation performed on the key inputmeans; and in response to detecting that the specific key has beenpressed or released, notifying the utility that the specific key hasbeen pressed or released, via a second input/output port forcommunicating with a utility which is software for controlling the keyinput means and display means on which various kinds of informationincluding the user interface for presenting the specific menu aredisplayed, the second input/output port being logically different from afirst input/output port having a capability of transmitting informationto a higher-level system in response to pressing or releasing of anormal key, on the key input means, other than the specific key tonotify the higher-level system that the normal key has been pressed orreleased.

In this information processing method according to the presentinvention, the firmware may be operated so as to perform a processassociated with a specific key locking mechanism having a locked statein which the specific key is equivalently kept pressed down although thespecific key is not actually pressed down and also having an unlockedstate in which the specific key is equivalently not pressed; and theuser interface which indicates at least the state of the specific keylocking mechanism may be displayed on the display means.

In this information processing method according to the presentinvention, the utility may be operated so as to detect the state of thefirmware via the second input/output port and set the firmware intoeither an enabled state in which the specific key locking mechanism isenabled or a disabled state in which the specific key locking mechanismis disabled.

Thus, in the information processing method according to the presentinvention, in response to pressing or releasing of the specific key, thefirmware is operated so as to inform the utility via the secondinput/output port that the specific key has been pressed or released,and the utility is operated so as to activate the user interface forpresenting the specific menu and display the user interface on thedisplay means. Furthermore, the process associated with the specific keylocking mechanism is performed such that the utility is operated so asto detect the state of the firmware via the second input/output port andto set the firmware into either the enabled state or the disabled state,thereby presenting both the conventional user interface in which ahotkey function is called by simultaneously pressing a plurality of keysand the Fn key locking mechanism without causing any confliction, andthus allowing users who are proficient in the conventional operation touse hotkeys without encountering any problem.

In this information processing method according to the presentinvention, the user interface for setting the specific key lockingmechanism into the enabled state or the disabled state may be displayedon the display means under the control of the utility.

Thus, in the information processing method according to the presentinvention, said utility is operated so as to display, on the displaymeans, the user interface for setting the specific key locking mechanisminto the enabled state or the disabled state, thereby allowing a user toeasily set the state of the specific key locking mechanism.

In this information processing method according to the presentinvention, if the specific key locking mechanism is in the enabledstate, the state indication user interface indicating that the specifickey locking mechanism is in the enabled state is displayed on thedisplay means under the control of the utility.

In this information processing method according to the presentinvention, if the specific key locking mechanism is in the disabledstate, the utility is operated so as to not display the state indicationuser interface on the display means or so as to display, on the displaymeans, the state indication user interface indicating that the specifickey locking mechanism is in the disabled state.

Thus, in the information processing method according to the presentinvention, if the specific key locking mechanism is in the enabledstate, the utility is operated so as to display, on the display means, astate indication user interface indicating that the specific key lockingmechanism is in the enabled state, while, if the specific key lockingmechanism is in the disabled state, the utility is operated so as to notdisplay the state indication user interface on the display means or soas to display, on the display means, the state indication user interfaceindicating that the specific key locking mechanism is in the disabledstate, thereby allowing a user to easily recognize the state of the Fnkey locking mechanism.

1. An information processing apparatus controlled by an operating systemincluding a keyboard driver and a utility separate from the keyboarddriver, comprising: a keyboard including a plurality of keys arrangedthereon including a predetermined specific key; a display configured todisplay information in response to pressing one of the plurality ofkeys; a key lock enabling device configured to switch the informationprocessing apparatus between a key lock disabled state and a key lockenabled state; a specific key locking device configured to switch theinformation processing apparatus between a specific key locked state toa specific key unlocked state, the specific key locked state being astate in which the predetermined specific key is considered by theinformation processing apparatus to be pressed down when thepredetermined specific key is not actually pressed, the specific keyunlocked state being a state in which the predetermined specific key isnot considered by the information processing apparatus to be presseddown when the predetermined specific key is not actually pressed, thespecific key locking device being functional only when the key lockenabled state is set; and a built-in controller including a keyboardcontroller configured to inform the keyboard driver that a key otherthan the predetermined specific key has been pressed or released whenthe specific key locked state is not set, and a special key controllerconfigured to inform the utility separate from the keyboard driver thatthe predetermined special key has been pressed, wherein the specific keylocking device is configured to instruct the utility via the special keycontroller to execute a predetermined locked state hotkey operation whenthe specific key locked state is enabled and after a secondpredetermined key is pressed, and the specific key locking device isconfigured to switch the information processing apparatus from thespecific key locked state to the specific key unlocked state when thepredetermined specific key is pressed and released, the key other thanthe predetermined specific key is pressed and released while thepredetermined specific key is not pressed, or the predetermined specifickey is pressed and held, and the second predetermined key is pressed,said built-in controller further configured, after the specific keylocked state is enabled and after the second predetermined key ispressed, to cause the display to display a menu including a menu iconassigned to the predetermined locked state hotkey operation, wherein thebuilt-in controller is further configured to cause the display todisplay or remove the menu in response to pressing or releasing of thepredetermined specific key singly.
 2. The information processingapparatus of claim 1, wherein the built-in controller is configured tocause the display to display a user interface for selecting one of thekey lock enabled state and the key lock disabled state.
 3. Theinformation processing apparatus of claim 1, wherein the built-incontroller is configured to switch the information processing apparatusbetween the key lock enabled state and the key lock disabled state inresponse to detecting a predetermined number of pushes of thepredetermined specific key.
 4. The information processing apparatus ofclaim 3, wherein the built-in controller is configured to transmit astate switch command to the utility via the special key controller. 5.The information processing apparatus of claim 4, wherein the built-incontroller is configured to instruct the key lock enabling device toswitch the information processing apparatus between the key lock enabledstate and the key lock disabled state in accordance with the stateswitch command.
 6. The information processing apparatus of claim 1,wherein the built-in controller is configured to switch the informationprocessing apparatus between the specific key unlocked state and thespecific key locked state depending on a power supply state.
 7. Theinformation processing apparatus of claim 6, wherein the built-incontroller is configured to switch the information processing apparatusto the specific key unlocked state without switching the informationprocessing apparatus between the key lock disabled state and the keylock enabled state if the power supply state has switched from an activestate to a standby state.
 8. The information processing apparatus ofclaim 6, wherein the built-in controller is configured to switch theinformation processing apparatus to the key lock disabled state if thepower supply has switched from an active state to a sleep state.
 9. Theinformation processing apparatus of claim 6, wherein the built-incontroller is configured to switch the information processing apparatusto the specific key unlocked state without switching the informationprocessing apparatus between the key lock disabled state and the keylock enabled state if the power supply has switched from a standby stateto an active state.
 10. The information processing apparatus of claim 6,wherein the built-in controller is configured to switch the informationprocessing apparatus to the key lock disabled state if the power supplyhas switched from a sleep state to an active state.
 11. The informationprocessing apparatus of claim 1, wherein the predetermined specific keyfunctions as a switch for causing the second predetermined key to act asa key which does not exist in a pre-established key table to cause theinformation processing apparatus to perform a specific process.
 12. Theinformation processing apparatus of claim 1, wherein the predeterminedspecific key is an Fn key labeled Fn on the keyboard.
 13. Theinformation processing apparatus of claim 1, wherein the built-incontroller is configured to cause the display to display an iconindicating that the specific key locked state is in effect.
 14. Theinformation processing apparatus of claim 1, wherein the specific keylocking device is configured to instruct the keyboard driver via thekeyboard controller to execute the predetermined unlocked state hotkeyoperation when the predetermined specific key and the secondpredetermined key are pressed without switching the informationprocessing apparatus to the specific key locked state when the key lockdisabled state in effect or when the specific key unlocked state is ineffect.
 15. A method of operating an information processing apparatuscontrolled by an operating system including a keyboard driver and autility separate from the keyboard driver, the information processingapparatus including a keyboard including a plurality of keys arrangedthereon including a predetermined specific key, and a display,comprising: switching the information processing apparatus between a keylock disabled state and a key lock enabled state; only when the key lockenabled state is set, switching the information processing apparatusbetween a specific key locked state to a specific key unlocked state,the specific key locked state being a state in which the predeterminedspecific key is considered by the information processing apparatus to bepressed down when the predetermined specific key is not actuallypressed, the specific key unlocked state being a state in which thepredetermined specific key is not considered by the informationprocessing apparatus to be pressed down when the predetermined specifickey is not actually pressed; informing the keyboard driver via akeyboard controller that a key other than the predetermined specific keyhas been pressed or released when the specific key locked state is notset, and informing, via a special key controller, the utility separatefrom the keyboard driver that the predetermined special key has beenpressed; instructing the utility via the special key controller toexecute a predetermined locked state hotkey operation when the specifickey locked state is enabled and after a second predetermined key ispressed; and switching the information processing apparatus from thespecific key locked state to the specific key unlocked state when thepredetermined specific key is pressed and released, the key other thanthe predetermined specific key is pressed and released when thepredetermined specific key is not pressed, or the predetermined specifickey is pressed and held, and the second predetermined key is pressed;after the specific key locked state is enabled and after the secondpredetermined key is pressed, displaying a menu including a menu iconassigned to the predetermined locked state hotkey operation; anddisplaying or removing the menu in response to pressing or releasing ofthe predetermined specific key singly.
 16. The method of claim 15,further comprising one of: displaying of a user interface for selectingone of the key lock enabled state and the key lock disabled state, andswitching the information processing apparatus between the key lockenabled state and the key lock disabled state in response to detecting apredetermined number of pushes of the predetermined specific key. 17.The method of claim 16, further comprising: transmitting a state switchcommand to the utility via the special key controller.
 18. The method ofclaim 15, further comprising: switching the information processingapparatus between the specific key unlocked state and the specific keylocked state depending on a power supply state.
 19. The method of claim18, further comprising: switching the information processing apparatusto the specific key unlocked state without switching the informationprocessing apparatus between the key lock disabled state and the keylock enabled state if the power supply state has switched from an activestate to a standby state.
 20. The method of claim 18, furthercomprising: switching the information processing apparatus to the keylock disabled state if the power supply has switched from an activestate to a sleep state.
 21. The method of claim 18, further comprising:switching the information processing apparatus to the specific keyunlocked state without switching the information processing apparatusbetween the key lock disabled state and the key lock enabled state ifthe power supply has switched from a standby state to an active state.22. The method of claim 18, further comprising: switching theinformation processing apparatus to the key lock disabled state if thepower supply has switched from a sleep state to an active state.
 23. Themethod of claim 15, wherein the predetermined specific key functions asa switch for causing the second predetermined key to act as a key whichdoes not exist in a pre-established key table to cause the informationprocessing apparatus to perform a specific process.
 24. The method ofclaim 15, wherein the predetermined specific key is an Fn key labeled Fnon the keyboard.
 25. The method of claim 15, further comprising:displaying an icon indicating that the specific key locked state is ineffect.
 26. The method of claim 15, further comprising: instructing thekeyboard driver via the keyboard controller to execute the predeterminedunlocked state hotkey operation when the predetermined specific key andthe second predetermined key are pressed without switching theinformation processing apparatus to the specific key locked state whenthe key lock disabled state in effect or when the specific key unlockedstate is in effect.